Remote question and value service

This commit is contained in:
Sebastian Seedorf
2017-06-07 15:52:04 +02:00
parent 3a36f948d1
commit 05fd2586fd
10 changed files with 394 additions and 324 deletions

586
.idea/workspace.xml generated
View File

@@ -2,15 +2,16 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="77c12afa-55f1-462c-96eb-1733ba14cab9" name="Default" comment="">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/checkbox-input.component.ts" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/app/modules/dyn-form/types/form.interface.ts" />
<change type="MOVED" beforePath="$PROJECT_DIR$/src/app/modules/dyn-form/services/question.service.ts" afterPath="$PROJECT_DIR$/src/app/modules/dyn-form/services/form.service.ts" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/app/app.component.html" afterPath="$PROJECT_DIR$/src/app/app.component.html" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/app/app.component.ts" afterPath="$PROJECT_DIR$/src/app/app.component.ts" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.component.ts" afterPath="$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.component.ts" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.module.ts" afterPath="$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.module.ts" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/app/modules/dyn-form/dyn-question.component.ts" afterPath="$PROJECT_DIR$/src/app/modules/dyn-form/dyn-question.component.ts" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/custom-input.component.ts" afterPath="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/custom-input.component.ts" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/tag-input.component.ts" afterPath="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/tag-input.component.ts" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/app/modules/dyn-form/services/question.service.ts" afterPath="$PROJECT_DIR$/src/app/modules/dyn-form/services/question.service.ts" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/app/modules/dyn-form/types/question.interface.ts" afterPath="$PROJECT_DIR$/src/app/modules/dyn-form/types/question.interface.ts" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/app/modules/dyn-form/services/value.service.ts" afterPath="$PROJECT_DIR$/src/app/modules/dyn-form/services/value.service.ts" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/app/services/http-cached.service.ts" afterPath="$PROJECT_DIR$/src/app/services/http-cached.service.ts" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/app/services/http.service.ts" afterPath="$PROJECT_DIR$/src/app/services/http.service.ts" />
</list>
<ignored path="$PROJECT_DIR$/.tmp/" />
<ignored path="$PROJECT_DIR$/temp/" />
@@ -25,37 +26,107 @@
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="dyn-form.component.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.component.ts">
<file leaf-file-name="app.component.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/app.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="136">
<caret line="14" column="12" lean-forward="true" selection-start-line="14" selection-start-column="12" selection-end-line="14" selection-end-column="12" />
<folding>
<element signature="e#0#95#0" expanded="true" />
<marker date="1496822159979" expanded="true" signature="315:857" ph="..." />
<marker date="1496822159979" expanded="true" signature="364:733" ph="..." />
<marker date="1496822159979" expanded="true" signature="593:720" ph="..." />
<marker date="1496822159979" expanded="true" signature="762:845" ph="..." />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="question.service.ts" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/services/question.service.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="243">
<caret line="67" column="25" lean-forward="false" selection-start-line="67" selection-start-column="25" selection-end-line="67" selection-end-column="25" />
<state relative-caret-position="391">
<caret line="32" column="44" lean-forward="false" selection-start-line="32" selection-start-column="44" selection-end-line="32" selection-end-column="44" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="value.service.ts" pinned="false" current-in-tab="false">
<file leaf-file-name="dyn-form.module.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.module.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221">
<caret line="27" column="13" lean-forward="false" selection-start-line="27" selection-start-column="13" selection-end-line="27" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="app.component.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/app.component.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="357">
<caret line="24" column="32" lean-forward="false" selection-start-line="24" selection-start-column="32" selection-end-line="24" selection-end-column="32" />
<folding>
<marker date="1496841033200" expanded="true" signature="984:2086" ph="{...}" />
<marker date="1496841033200" expanded="true" signature="1043:1961" ph="{...}" />
<marker date="1496841033200" expanded="true" signature="1592:1680" ph="{...}" />
<marker date="1496841033200" expanded="true" signature="1757:1953" ph="{...}" />
<marker date="1496841033200" expanded="true" signature="2015:2058" ph="{...}" />
<marker date="1496841033200" expanded="true" signature="2117:2319" ph="[...]" />
<marker date="1496841033200" expanded="true" signature="2140:2219" ph="{&quot;selector&quot;: 'my-app'...}" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="form.service.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/services/form.service.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="117">
<caret line="8" column="26" lean-forward="false" selection-start-line="8" selection-start-column="26" selection-end-line="8" selection-end-column="26" />
<folding>
<element signature="e#0#43#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="http.service.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/services/http.service.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="306">
<caret line="18" column="1" lean-forward="true" selection-start-line="18" selection-start-column="1" selection-end-line="18" selection-end-column="1" />
<folding>
<element signature="e#0#51#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="value.service.ts" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/services/value.service.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="136">
<caret line="9" column="91" lean-forward="false" selection-start-line="9" selection-start-column="91" selection-end-line="9" selection-end-column="91" />
<state relative-caret-position="-102">
<caret line="15" column="14" lean-forward="true" selection-start-line="15" selection-start-column="14" selection-end-line="15" selection-end-column="14" />
<folding>
<element signature="e#0#43#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="http-cached.service.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/services/http-cached.service.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="374">
<caret line="22" column="41" lean-forward="true" selection-start-line="22" selection-start-column="41" selection-end-line="22" selection-end-column="41" />
<folding>
<element signature="e#0#51#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="http-base.service.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/services/http-base.service.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1416">
<caret line="94" column="38" lean-forward="true" selection-start-line="94" selection-start-column="38" selection-end-line="94" selection-end-column="38" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="response.interface.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/services/response.interface.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
@@ -64,93 +135,13 @@
<file leaf-file-name="app.component.html" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/app.component.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="101" lean-forward="false" selection-start-line="0" selection-start-column="101" selection-end-line="0" selection-end-column="101" />
<state relative-caret-position="34">
<caret line="2" column="17" lean-forward="false" selection-start-line="2" selection-start-column="17" selection-end-line="2" selection-end-column="17" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="tag-input.component.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/tag-input.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="525">
<caret line="77" column="8" lean-forward="false" selection-start-line="77" selection-start-column="8" selection-end-line="77" selection-end-column="8" />
<folding>
<element signature="e#0#59#0" expanded="true" />
<marker date="1496824450537" expanded="true" signature="404:466" ph="..." />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="checkbox-input.component.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/checkbox-input.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="136">
<caret line="10" column="48" lean-forward="false" selection-start-line="10" selection-start-column="48" selection-end-line="10" selection-end-column="48" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="custom-input.component.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/custom-input.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="117">
<caret line="36" column="25" lean-forward="false" selection-start-line="36" selection-start-column="25" selection-end-line="36" selection-end-column="25" />
<folding>
<element signature="e#0#94#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="counter-input.component.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/counter-input.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="867">
<caret line="51" column="16" lean-forward="false" selection-start-line="51" selection-start-column="10" selection-end-line="51" selection-end-column="16" />
<folding>
<element signature="e#0#52#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="dropdown-input.component.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/dropdown-input.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="423">
<caret line="89" column="0" lean-forward="false" selection-start-line="89" selection-start-column="0" selection-end-line="89" selection-end-column="0" />
<folding>
<element signature="e#0#85#0" expanded="true" />
<marker date="1496823666184" expanded="true" signature="399:512" ph="..." />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="dyn-question.component.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/dyn-question.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="134">
<caret line="61" column="26" lean-forward="true" selection-start-line="61" selection-start-column="26" selection-end-line="61" selection-end-column="26" />
<folding>
<element signature="e#0#69#0" expanded="true" />
<marker date="1496823207959" expanded="true" signature="330:3061" ph="..." />
<marker date="1496823207959" expanded="true" signature="792:1097" ph="..." />
<marker date="1496823207959" expanded="true" signature="1147:1405" ph="..." />
<marker date="1496823207959" expanded="true" signature="1459:1789" ph="..." />
<marker date="1496823207959" expanded="true" signature="1843:2109" ph="..." />
<marker date="1496823207959" expanded="true" signature="2161:2592" ph="..." />
<marker date="1496823207959" expanded="true" signature="2646:2912" ph="..." />
<marker date="1496823207959" expanded="true" signature="2967:3048" ph="..." />
</folding>
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
@@ -172,21 +163,24 @@
<option value="$PROJECT_DIR$/src/app/app.module.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/counter-input.component.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/types/keys.pipe.ts" />
<option value="$PROJECT_DIR$/src/app/services/http-cached.service.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/textarea-input.component.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/textbox-input.component.ts" />
<option value="$PROJECT_DIR$/src/app/app.component.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/types/question.interface.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.component.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.module.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/services/value.service.ts" />
<option value="$PROJECT_DIR$/src/app/app.component.html" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/dyn-question.component.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/dropdown-input.component.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/tag-input.component.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/custom-input.component.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/checkbox-input.component.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.component.ts" />
<option value="$PROJECT_DIR$/src/app/services/http-cached.service.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/services/question.service.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/types/form.interface.ts" />
<option value="$PROJECT_DIR$/src/app/services/http.service.ts" />
<option value="$PROJECT_DIR$/src/app/app.component.html" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/services/form.service.ts" />
<option value="$PROJECT_DIR$/src/app/app.component.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/services/value.service.ts" />
</list>
</option>
</component>
@@ -388,36 +382,6 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="AngularDynFormModule" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="AngularDynFormModule" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="app" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="modules" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="dyn-form" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="inputs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="Scratches" />
@@ -548,7 +512,7 @@
<workItem from="1496385401533" duration="17758000" />
<workItem from="1496408793177" duration="9778000" />
<workItem from="1496731076030" duration="19887000" />
<workItem from="1496819656295" duration="5058000" />
<workItem from="1496819656295" duration="17341000" />
</task>
<task id="LOCAL-00001" summary="Merging">
<created>1496129612668</created>
@@ -585,11 +549,18 @@
<option name="project" value="LOCAL" />
<updated>1496758683645</updated>
</task>
<option name="localTasksCounter" value="6" />
<task id="LOCAL-00006" summary="Added checkbox input">
<created>1496824870337</created>
<option name="number" value="00006" />
<option name="presentableId" value="LOCAL-00006" />
<option name="project" value="LOCAL" />
<updated>1496824870337</updated>
</task>
<option name="localTasksCounter" value="7" />
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="97098000" />
<option name="totallyTimeSpent" value="109381000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
@@ -655,8 +626,6 @@
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.component.js.map" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.module.js" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.module.js.map" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/services/question.service.js" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/services/question.service.js.map" />
<option value="$PROJECT_DIR$/src/main.js" />
<option value="$PROJECT_DIR$/src/main.js.map" />
<option value="$PROJECT_DIR$/src/app/app.module.js" />
@@ -673,6 +642,8 @@
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/textbox-input.component.js.map" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/checkbox-input.component.js.map" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/checkbox-input.component.js" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/types/form.interface.js.map" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/types/form.interface.js" />
</list>
</option>
</component>
@@ -685,55 +656,23 @@
<MESSAGE value="added validation, error messages, help tooptips, async question loading and textarea input" />
<MESSAGE value="Specialization, Textbox" />
<MESSAGE value="submits only visible items" />
<option name="LAST_COMMIT_MESSAGE" value="submits only visible items" />
<MESSAGE value="Added checkbox input" />
<option name="LAST_COMMIT_MESSAGE" value="Added checkbox input" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<option name="time" value="2" />
<breakpoints>
<line-breakpoint enabled="true" type="javascript">
<url>file://$PROJECT_DIR$/src/app/services/http-cached.service.ts</url>
<properties />
<option name="timeStamp" value="2" />
</line-breakpoint>
</breakpoints>
<option name="time" value="3" />
</breakpoint-manager>
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="408">
<caret line="24" column="46" lean-forward="false" selection-start-line="24" selection-start-column="46" selection-end-line="24" selection-end-column="46" />
<folding>
<element signature="e#0#95#0" expanded="true" />
<marker date="1496822159979" expanded="true" signature="315:857" ph="..." />
<marker date="1496822159979" expanded="true" signature="364:733" ph="..." />
<marker date="1496822159979" expanded="true" signature="593:720" ph="..." />
<marker date="1496822159979" expanded="true" signature="762:845" ph="..." />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/app.component.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="84" lean-forward="false" selection-start-line="0" selection-start-column="75" selection-end-line="0" selection-end-column="84" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/dyn-question.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="323">
<caret line="21" column="27" lean-forward="false" selection-start-line="21" selection-start-column="27" selection-end-line="21" selection-end-column="27" />
<folding>
<element signature="e#0#69#0" expanded="true" />
<marker date="1496823207959" expanded="true" signature="330:3061" ph="..." />
<marker date="1496823207959" expanded="true" signature="792:1097" ph="..." />
<marker date="1496823207959" expanded="true" signature="1147:1405" ph="..." />
<marker date="1496823207959" expanded="true" signature="1459:1789" ph="..." />
<marker date="1496823207959" expanded="true" signature="1843:2109" ph="..." />
<marker date="1496823207959" expanded="true" signature="2161:2592" ph="..." />
<marker date="1496823207959" expanded="true" signature="2646:2912" ph="..." />
<marker date="1496823207959" expanded="true" signature="2967:3048" ph="..." />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.module.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="85">
@@ -763,11 +702,13 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/services/question.service.ts">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/services/form.service.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="799">
<caret line="47" column="7" lean-forward="true" selection-start-line="47" selection-start-column="7" selection-end-line="47" selection-end-column="7" />
<folding />
<folding>
<element signature="e#0#43#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
@@ -792,10 +733,10 @@
<caret line="24" column="46" lean-forward="true" selection-start-line="24" selection-start-column="46" selection-end-line="24" selection-end-column="46" />
<folding>
<element signature="e#0#95#0" expanded="true" />
<marker date="1496822159979" expanded="true" signature="315:857" ph="..." />
<marker date="1496822159979" expanded="true" signature="364:733" ph="..." />
<marker date="1496822159979" expanded="true" signature="593:720" ph="..." />
<marker date="1496822159979" expanded="true" signature="762:845" ph="..." />
<marker date="1496827697309" expanded="true" signature="315:875" ph="..." />
<marker date="1496827697309" expanded="true" signature="364:733" ph="..." />
<marker date="1496827697309" expanded="true" signature="593:720" ph="..." />
<marker date="1496827697309" expanded="true" signature="762:863" ph="..." />
</folding>
</state>
</provider>
@@ -839,7 +780,7 @@
<state relative-caret-position="272">
<caret line="16" column="7" lean-forward="true" selection-start-line="16" selection-start-column="7" selection-end-line="16" selection-end-column="7" />
<folding>
<element signature="e#0#40#0" expanded="true" />
<element signature="e#0#40#0" expanded="false" />
</folding>
</state>
</provider>
@@ -935,23 +876,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/services/response.interface.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/services/http-base.service.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1649">
<caret line="20" column="7" lean-forward="false" selection-start-line="20" selection-start-column="4" selection-end-line="20" selection-end-column="7" />
<folding>
<element signature="e#0#76#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/styles.css">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
@@ -988,14 +912,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/services/http-cached.service.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="731">
<caret line="46" column="0" lean-forward="true" selection-start-line="46" selection-start-column="0" selection-end-line="46" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
@@ -1012,16 +928,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/app.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="187">
<caret line="14" column="19" lean-forward="false" selection-start-line="14" selection-start-column="19" selection-end-line="14" selection-end-column="19" />
<folding>
<element signature="e#0#40#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/textarea-input.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="612">
@@ -1040,76 +946,12 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/types/question.interface.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="153">
<caret line="9" column="8" lean-forward="false" selection-start-line="9" selection-start-column="8" selection-end-line="9" selection-end-column="8" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.module.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="340">
<caret line="34" column="27" lean-forward="false" selection-start-line="34" selection-start-column="27" selection-end-line="34" selection-end-column="27" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/services/value.service.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="136">
<caret line="9" column="91" lean-forward="false" selection-start-line="9" selection-start-column="91" selection-end-line="9" selection-end-column="91" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="136">
<caret line="14" column="12" lean-forward="true" selection-start-line="14" selection-start-column="12" selection-end-line="14" selection-end-column="12" />
<folding>
<element signature="e#0#95#0" expanded="true" />
<marker date="1496822159979" expanded="true" signature="315:857" ph="..." />
<marker date="1496822159979" expanded="true" signature="364:733" ph="..." />
<marker date="1496822159979" expanded="true" signature="593:720" ph="..." />
<marker date="1496822159979" expanded="true" signature="762:845" ph="..." />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/app.component.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="101" lean-forward="false" selection-start-line="0" selection-start-column="101" selection-end-line="0" selection-end-column="101" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/dyn-question.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="134">
<caret line="61" column="26" lean-forward="true" selection-start-line="61" selection-start-column="26" selection-end-line="61" selection-end-column="26" />
<folding>
<element signature="e#0#69#0" expanded="true" />
<marker date="1496823207959" expanded="true" signature="330:3061" ph="..." />
<marker date="1496823207959" expanded="true" signature="792:1097" ph="..." />
<marker date="1496823207959" expanded="true" signature="1147:1405" ph="..." />
<marker date="1496823207959" expanded="true" signature="1459:1789" ph="..." />
<marker date="1496823207959" expanded="true" signature="1843:2109" ph="..." />
<marker date="1496823207959" expanded="true" signature="2161:2592" ph="..." />
<marker date="1496823207959" expanded="true" signature="2646:2912" ph="..." />
<marker date="1496823207959" expanded="true" signature="2967:3048" ph="..." />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/counter-input.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="867">
<caret line="51" column="16" lean-forward="false" selection-start-line="51" selection-start-column="10" selection-end-line="51" selection-end-column="16" />
<folding>
<element signature="e#0#52#0" expanded="true" />
<element signature="e#0#52#0" expanded="false" />
</folding>
</state>
</provider>
@@ -1141,7 +983,7 @@
<state relative-caret-position="117">
<caret line="36" column="25" lean-forward="false" selection-start-line="36" selection-start-column="25" selection-end-line="36" selection-end-column="25" />
<folding>
<element signature="e#0#94#0" expanded="true" />
<element signature="e#0#94#0" expanded="false" />
</folding>
</state>
</provider>
@@ -1154,13 +996,149 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/services/question.service.ts">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/types/question.interface.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="243">
<caret line="67" column="25" lean-forward="false" selection-start-line="67" selection-start-column="25" selection-end-line="67" selection-end-column="25" />
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="36" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="340">
<caret line="53" column="7" lean-forward="false" selection-start-line="53" selection-start-column="7" selection-end-line="53" selection-end-column="7" />
<folding>
<element signature="e#0#95#0" expanded="true" />
<marker date="1496827697309" expanded="true" signature="315:875" ph="..." />
<marker date="1496827697309" expanded="true" signature="364:733" ph="..." />
<marker date="1496827697309" expanded="true" signature="593:720" ph="..." />
<marker date="1496827697309" expanded="true" signature="762:863" ph="..." />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/dyn-question.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1001">
<caret line="61" column="26" lean-forward="false" selection-start-line="61" selection-start-column="26" selection-end-line="61" selection-end-column="26" />
<folding>
<element signature="e#0#69#0" expanded="true" />
<marker date="1496823207959" expanded="true" signature="330:3061" ph="..." />
<marker date="1496823207959" expanded="true" signature="792:1097" ph="..." />
<marker date="1496823207959" expanded="true" signature="1147:1405" ph="..." />
<marker date="1496823207959" expanded="true" signature="1459:1789" ph="..." />
<marker date="1496823207959" expanded="true" signature="1843:2109" ph="..." />
<marker date="1496823207959" expanded="true" signature="2161:2592" ph="..." />
<marker date="1496823207959" expanded="true" signature="2646:2912" ph="..." />
<marker date="1496823207959" expanded="true" signature="2967:3048" ph="..." />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/types/form.interface.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="119">
<caret line="7" column="1" lean-forward="false" selection-start-line="7" selection-start-column="1" selection-end-line="7" selection-end-column="1" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/app.component.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="357">
<caret line="24" column="32" lean-forward="false" selection-start-line="24" selection-start-column="32" selection-end-line="24" selection-end-column="32" />
<folding>
<marker date="1496841033200" expanded="true" signature="984:2086" ph="{...}" />
<marker date="1496841033200" expanded="true" signature="1043:1961" ph="{...}" />
<marker date="1496841033200" expanded="true" signature="1592:1680" ph="{...}" />
<marker date="1496841033200" expanded="true" signature="1757:1953" ph="{...}" />
<marker date="1496841033200" expanded="true" signature="2015:2058" ph="{...}" />
<marker date="1496841033200" expanded="true" signature="2117:2319" ph="[...]" />
<marker date="1496841033200" expanded="true" signature="2140:2219" ph="{&quot;selector&quot;: 'my-app'...}" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/services/response.interface.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/services/http-base.service.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1416">
<caret line="94" column="38" lean-forward="true" selection-start-line="94" selection-start-column="38" selection-end-line="94" selection-end-column="38" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/services/form.service.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="117">
<caret line="8" column="26" lean-forward="false" selection-start-line="8" selection-start-column="26" selection-end-line="8" selection-end-column="26" />
<folding>
<element signature="e#0#43#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/app.component.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="34">
<caret line="2" column="17" lean-forward="false" selection-start-line="2" selection-start-column="17" selection-end-line="2" selection-end-column="17" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/app.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="391">
<caret line="32" column="44" lean-forward="false" selection-start-line="32" selection-start-column="44" selection-end-line="32" selection-end-column="44" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.module.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221">
<caret line="27" column="13" lean-forward="false" selection-start-line="27" selection-start-column="13" selection-end-line="27" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/services/http.service.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="306">
<caret line="18" column="1" lean-forward="true" selection-start-line="18" selection-start-column="1" selection-end-line="18" selection-end-column="1" />
<folding>
<element signature="e#0#51#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/services/http-cached.service.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="374">
<caret line="22" column="41" lean-forward="true" selection-start-line="22" selection-start-column="41" selection-end-line="22" selection-end-column="41" />
<folding>
<element signature="e#0#51#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/services/value.service.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-102">
<caret line="15" column="14" lean-forward="true" selection-start-line="15" selection-start-column="14" selection-end-line="15" selection-end-column="14" />
<folding>
<element signature="e#0#43#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
</project>

View File

@@ -1 +1,3 @@
<h1>{{formName}}</h1>
<p>{{formDescription}}</p>
<dyn-form [questions]="formQuestions" (onSubmit)="submit($event)" [value]="formValue" [type]="'insert'"></dyn-form>

View File

@@ -1,6 +1,6 @@
import {Component} from '@angular/core';
import {QuestionInterface} from './modules/dyn-form/types/question.interface';
import {QuestionService} from './modules/dyn-form/services/question.service';
import {FormService} from './modules/dyn-form/services/form.service';
import {ValueService} from './modules/dyn-form/services/value.service';
@Component({
@@ -11,15 +11,27 @@ import {ValueService} from './modules/dyn-form/services/value.service';
export class AppComponent {
public formQuestions: QuestionInterface[] = null;
public formValue: Object = null;
public formName: string = "";
public formDescription ="";
constructor(private questionService: QuestionService, private valueService: ValueService) {
this.questionService.getQuestions((res, err) => {
if (!err)
this.formQuestions = res;
constructor(private questionService: FormService, private valueService: ValueService) {
this.questionService.getForm('/crf/domains', (res, err) => {
if (err)
console.error(err);
else {
this.formQuestions = res.questions;
this.formName = res.name;
this.formDescription = res.description;
console.log("questions", this.formQuestions);
}
});
this.valueService.getValues((res, err) => {
if (!err)
this.valueService.getValue('/crf/domains', 3, (res, err) => {
if (err)
console.error(err);
else {
this.formValue = res;
console.log("values", this.formValue);
}
});
}

View File

@@ -11,7 +11,7 @@ import {FormControl, FormGroup} from '@angular/forms';
[question]="question" [form]="form" [type]="type" (onChange)="valueChange.emit(form.value)"></dyn-question>
</div>
<div class="form-row">
<button [disabled]="form.invalid" type="submit">Save</button>
<button [disabled]="form.invalid && type!='delete'" type="submit">Save</button>
</div>
</form>
`
@@ -19,7 +19,7 @@ import {FormControl, FormGroup} from '@angular/forms';
export class DynFormComponent implements OnChanges {
@Input() questions: QuestionInterface[];
@Input() value: {[_:string]: any};
@Input() type: "'insert'|'update'|'delete'|'view'";
@Input() type: 'insert'|'update'|'delete'|'view';
@Output() valueChange: EventEmitter<any> = new EventEmitter<any>();
@Output() onSubmit: EventEmitter<any> = new EventEmitter<any>();
@@ -41,14 +41,14 @@ export class DynFormComponent implements OnChanges {
}
private submit() {
if (this.form.valid) {
if (this.form.valid || this.type=='delete') {
let vals = {};
let type: string = this.form.value.type;
for (let question of this.questions) {
let specType = question.properties.specialization;
let methods = question.properties.methods;
let key = question.properties.key;
if (!(methods && methods.indexOf(this.type)==-1 || specType && type!=specType)) {
if (!(methods && methods.indexOf(this.type)==-1 || specType && type!=specType) && (this.type!='delete' || question.type=='hidden')) {
vals[key] = this.form.value[key];
}
}

View File

@@ -7,7 +7,7 @@ import {CounterInputComponent} from './inputs/counter-input.component';
import {TagInputComponent} from './inputs/tag-input.component';
import {HiddenInputComponent} from './inputs/hidden-input.component';
import {DropdownInputComponent} from './inputs/dropdown-input.component';
import {QuestionService} from './services/question.service';
import {FormService} from './services/form.service';
import {TextareaInputComponent} from './inputs/textarea-input.component';
import {ValueService} from './services/value.service';
import {KeysPipe} from './types/keys.pipe';
@@ -36,7 +36,7 @@ import {CheckboxInputComponent} from './inputs/checkbox-input.component';
KeysPipe
],
providers: [
QuestionService,
FormService,
ValueService
],
})

View File

@@ -1,14 +1,37 @@
import { Injectable } from '@angular/core';
import {HttpCachedService} from '../../../services/http-cached.service';
import {QuestionInterface} from '../types/question.interface';
import {ResponseInterface} from '../../../services/response.interface';
import { Response } from '@angular/http';
import {FormInterface} from '../types/form.interface';
@Injectable()
export class QuestionService {
export class FormService {
private readonly PREFIX = "/form";
constructor(private httpCachedService: HttpCachedService) {
}
public getForm(path: string, cb: (res: FormInterface, err: any) => void) {
this.httpCachedService.getJSON(this.PREFIX+path, {}, (data: ResponseInterface, e: Response | any) => {
if (e) {
cb(null, e);
return;
}
if (data.meta.code != 0) {
cb(null, data.meta);
return;
}
let form: FormInterface = data.data;
form.questions = FormService.orderItems(form.questions);
form.filters = FormService.orderItems(form.filters);
cb(data.data, e);
});
}
public getQuestions(cb: (res: QuestionInterface[], err: any) => void) {
setTimeout(() => cb(QuestionService.orderItems([
setTimeout(() => cb(FormService.orderItems([
{
type: 'flag',
description: 'This is a help tooltip',

View File

@@ -1,12 +1,59 @@
import { Injectable } from '@angular/core';
import {HttpCachedService} from '../../../services/http-cached.service';
import {Response} from '@angular/http';
import {ResponseInterface} from '../../../services/response.interface';
@Injectable()
export class ValueService {
private readonly PREFIX = "";
constructor(private httpCachedService: HttpCachedService) {
}
public getValues(cb: (res: Object, err: any) => void) {
setTimeout(() => cb({flags:{alpha:true}, ID: 50, textarea: "a long text", cooldrop: "u"}, null), 15);
public getValue(path: string, id: any, cb: (res: Object, err: any) => void) {
this.httpCachedService.getJSON(this.PREFIX+path+"/"+id, {}, (data: ResponseInterface, e: Response | any) => {
if (e) {
cb(null, e);
return;
}
if (data.meta.code != 0) {
cb(null, data.meta);
return;
}
cb(data.data[0], null);
});
}
public getValues(path: string, filters: any, cb: (res: Object, err: any) => void) {
this.httpCachedService.getJSON(this.PREFIX+path, this.flatObject(filters), (data: ResponseInterface, e: Response | any) => {
if (e) {
cb(null, e);
return;
}
if (data.meta.code != 0) {
cb(null, data.meta);
return;
}
cb(data.data, null);
});
}
private flatObject(obj: any, prefix?: string): {[_:string]: any} {
let ret: {[_:string]: any} = {};
if (!prefix)
prefix = '';
else
prefix = prefix+'.';
if (Object.prototype.toString.call(obj) == "[object Object]") {
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
ret = Object.assign(ret, this.flatObject(obj[key], prefix+key));
}
}
} else {
ret[prefix] = obj;
}
return ret;
}
}

View File

@@ -0,0 +1,8 @@
import {QuestionInterface} from './question.interface';
export interface FormInterface {
description: string,
uri: string,
name: string,
questions: QuestionInterface[],
filters: QuestionInterface[]
}

View File

@@ -22,14 +22,14 @@ export class HttpCachedService extends HttpService {
// pending request, add to event emitter
this._stored[hash].push(dataFunc);
} else {
// request alredy stored, send result
// request already stored, send result
dataFunc(this._stored[hash].data, this._stored[hash].e);
}
} else {
// fulfil request, no matching request stored
this._stored[hash] = [];
super.getJSON(uri, query, (data, e) => {
// request recieved, emit to caller and event subscriber
// request received, emit to caller and event subscriber
dataFunc(data, e);
for (let i = this._stored[hash].length - 1; i >= 0; i--) {
this._stored[hash][i](data, e);

View File

@@ -5,7 +5,7 @@ import { HttpBaseService } from './http-base.service';
@Injectable()
export class HttpService extends HttpBaseService {
get httpBase() {
return "http://ccrruby1-1:3085";
return "http://localhost:5000";
//return '/public/mocks';
}
get httpSuffix() {