Dropdown foreign implementation

This commit is contained in:
Sebastian Seedorf
2017-06-09 14:56:35 +02:00
parent 1db9e839d3
commit cc49a89ea4
8 changed files with 410 additions and 271 deletions

603
.idea/workspace.xml generated
View File

@@ -1,9 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="77c12afa-55f1-462c-96eb-1733ba14cab9" name="Default" comment=""> <list default="true" id="77c12afa-55f1-462c-96eb-1733ba14cab9" name="Default" comment="Dropdown foreign implementation">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<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/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-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/checkbox-input.component.ts" afterPath="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/checkbox-input.component.ts" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/dropdown-input.component.ts" afterPath="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/dropdown-input.component.ts" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/textarea-input.component.ts" afterPath="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/textarea-input.component.ts" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/textbox-input.component.ts" afterPath="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/textbox-input.component.ts" />
</list> </list>
<ignored path="$PROJECT_DIR$/.tmp/" /> <ignored path="$PROJECT_DIR$/.tmp/" />
<ignored path="$PROJECT_DIR$/temp/" /> <ignored path="$PROJECT_DIR$/temp/" />
@@ -21,111 +27,124 @@
<file leaf-file-name="app.component.ts" pinned="false" current-in-tab="false"> <file leaf-file-name="app.component.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/app.component.ts"> <entry file="file://$PROJECT_DIR$/src/app/app.component.ts">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="493"> <state relative-caret-position="119">
<caret line="32" column="44" lean-forward="false" selection-start-line="32" selection-start-column="44" selection-end-line="32" selection-end-column="44" /> <caret line="10" column="25" lean-forward="false" selection-start-line="10" selection-start-column="25" selection-end-line="10" selection-end-column="25" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="dyn-form.module.ts" pinned="false" current-in-tab="false"> <file leaf-file-name="textarea-input.component.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.module.ts"> <entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/textarea-input.component.ts">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221"> <state relative-caret-position="763">
<caret line="27" column="13" lean-forward="false" selection-start-line="27" selection-start-column="13" selection-end-line="27" selection-end-column="13" /> <caret line="49" column="40" lean-forward="false" selection-start-line="49" selection-start-column="40" selection-end-line="49" selection-end-column="40" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="app.component.js" pinned="false" current-in-tab="false"> <file leaf-file-name="textbox-input.component.ts" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/app/app.component.js"> <entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/textbox-input.component.ts">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="408"> <state relative-caret-position="627">
<caret line="24" column="32" lean-forward="false" selection-start-line="24" selection-start-column="32" selection-end-line="24" selection-end-column="32" /> <caret line="58" column="36" lean-forward="true" selection-start-line="58" selection-start-column="36" selection-end-line="58" selection-end-column="36" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="form.service.ts" pinned="false" current-in-tab="false"> <file leaf-file-name="checkbox-input.component.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/services/form.service.ts"> <entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/checkbox-input.component.ts">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="51"> <state relative-caret-position="17">
<caret line="8" column="26" lean-forward="false" selection-start-line="8" selection-start-column="26" selection-end-line="8" selection-end-column="26" /> <caret line="11" column="29" lean-forward="false" selection-start-line="11" selection-start-column="29" selection-end-line="11" selection-end-column="29" />
<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="202">
<caret line="43" column="6" lean-forward="true" selection-start-line="43" selection-start-column="6" selection-end-line="43" selection-end-column="6" />
<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="136">
<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 />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="hidden-input.component.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/hidden-input.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270">
<caret line="26" column="3" lean-forward="true" selection-start-line="26" selection-start-column="3" selection-end-line="26" selection-end-column="3" />
<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="253">
<caret line="69" column="33" lean-forward="false" selection-start-line="69" selection-start-column="33" selection-end-line="69" selection-end-column="33" />
<folding> <folding>
<element signature="e#0#43#0" expanded="true" /> <marker date="1496824450537" expanded="true" signature="404:466" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="http.service.ts" pinned="false" current-in-tab="false"> <file leaf-file-name="dropdown-input.component.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/services/http.service.ts"> <entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/dropdown-input.component.ts">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="272"> <state relative-caret-position="-750">
<caret line="18" column="1" lean-forward="false" selection-start-line="18" selection-start-column="1" selection-end-line="18" selection-end-column="1" /> <caret line="43" column="37" lean-forward="false" selection-start-line="43" selection-start-column="37" selection-end-line="43" selection-end-column="37" />
<folding> <folding>
<element signature="e#0#51#0" expanded="true" /> <element signature="e#0#85#0" expanded="true" />
<marker date="1497012606025" expanded="true" signature="513:626" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="value.service.ts" pinned="false" current-in-tab="true"> <file leaf-file-name="dropdown-input.component.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/services/value.service.ts"> <entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/dropdown-input.component.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="306"> <state relative-caret-position="185">
<caret line="48" column="15" lean-forward="true" selection-start-line="48" selection-start-column="15" selection-end-line="48" selection-end-column="15" /> <caret line="79" column="38" lean-forward="false" selection-start-line="79" selection-start-column="38" selection-end-line="79" selection-end-column="38" />
<folding> <folding>
<element signature="e#0#43#0" expanded="true" /> <marker date="1497012610279" expanded="true" signature="1304:4237" ph="{...}" />
<marker date="1497012610279" expanded="true" signature="1768:1778" ph="{...}" />
<marker date="1497012610279" expanded="true" signature="3843:4008" ph="{...}" />
<marker date="1497012610279" expanded="true" signature="3859:4001" ph="{...}" />
<marker date="1497012610279" expanded="true" signature="3875:3999" ph="{&quot;message&quot;: &quot;This value is invalid. Please select another value!&quot;...}" />
<marker date="1497012610279" expanded="true" signature="4098:4199" ph="{...}" />
<marker date="1497012610279" expanded="true" signature="4298:4360" ph="[...]" />
<marker date="1497012610279" expanded="true" signature="4428:4490" ph="[...]" />
<marker date="1497012610279" expanded="true" signature="4558:4618" ph="[...]" />
<marker date="1497012610279" expanded="true" signature="4683:4744" ph="[...]" />
<marker date="1497012610279" expanded="true" signature="4863:5777" ph="[...]" />
<marker date="1497012610279" expanded="true" signature="4886:5705" ph="{&quot;selector&quot;: 'dropdown-input'...}" />
<marker date="1497012610279" expanded="true" signature="5235:5699" ph="[...]" />
<marker date="1497012610279" expanded="true" signature="5249:5443" ph="{&quot;provide&quot;: forms_1.NG_VALUE_ACCESSOR...}" />
<marker date="1497012610279" expanded="true" signature="5457:5647" ph="{&quot;provide&quot;: forms_1.NG_VALIDATORS...}" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </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="323">
<caret line="22" column="41" lean-forward="false" 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="1496">
<caret line="94" column="38" lean-forward="false" 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>
</entry>
</file>
<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="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>
</leaf> </leaf>
</component> </component>
<component name="FileTemplateManagerImpl"> <component name="FileTemplateManagerImpl">
@@ -147,24 +166,25 @@
<option value="$PROJECT_DIR$/src/app/app.module.ts" /> <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/inputs/counter-input.component.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/types/keys.pipe.ts" /> <option value="$PROJECT_DIR$/src/app/modules/dyn-form/types/keys.pipe.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/modules/dyn-form/types/question.interface.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.module.ts" /> <option value="$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.module.ts" />
<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/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/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/modules/dyn-form/dyn-form.component.ts" />
<option value="$PROJECT_DIR$/src/app/services/http-cached.service.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/services/question.service.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/types/form.interface.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/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/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" /> <option value="$PROJECT_DIR$/src/app/modules/dyn-form/services/value.service.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/dyn-question.component.ts" />
<option value="$PROJECT_DIR$/src/app/app.component.html" />
<option value="$PROJECT_DIR$/src/index.html" />
<option value="$PROJECT_DIR$/src/app/app.component.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/textbox-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/inputs/dropdown-input.component.ts" />
<option value="$PROJECT_DIR$/src/app/modules/dyn-form/inputs/textarea-input.component.ts" />
</list> </list>
</option> </option>
</component> </component>
@@ -214,8 +234,8 @@
<foldersAlwaysOnTop value="true" /> <foldersAlwaysOnTop value="true" />
</navigator> </navigator>
<panes> <panes>
<pane id="Scope" />
<pane id="Scratches" /> <pane id="Scratches" />
<pane id="Scope" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
<PATH> <PATH>
@@ -368,6 +388,70 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </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>
<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_ELEMENT>
<option name="myItemId" value="dropdown-input.component.ts" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.NestingTreeNode" />
</PATH_ELEMENT>
</PATH>
</subPane> </subPane>
</pane> </pane>
</panes> </panes>
@@ -497,7 +581,8 @@
<workItem from="1496408793177" duration="9778000" /> <workItem from="1496408793177" duration="9778000" />
<workItem from="1496731076030" duration="19887000" /> <workItem from="1496731076030" duration="19887000" />
<workItem from="1496819656295" duration="18241000" /> <workItem from="1496819656295" duration="18241000" />
<workItem from="1496903500356" duration="16941000" /> <workItem from="1496903500356" duration="17940000" />
<workItem from="1496989834889" duration="12244000" />
</task> </task>
<task id="LOCAL-00001" summary="Merging"> <task id="LOCAL-00001" summary="Merging">
<created>1496129612668</created> <created>1496129612668</created>
@@ -562,11 +647,18 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1496928290088</updated> <updated>1496928290088</updated>
</task> </task>
<option name="localTasksCounter" value="10" /> <task id="LOCAL-00010" summary="Finished value service">
<created>1496928461665</created>
<option name="number" value="00010" />
<option name="presentableId" value="LOCAL-00010" />
<option name="project" value="LOCAL" />
<updated>1496928461665</updated>
</task>
<option name="localTasksCounter" value="11" />
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="127222000" /> <option name="totallyTimeSpent" value="140465000" />
</component> </component>
<component name="TodoView"> <component name="TodoView">
<todo-panel id="selected-file"> <todo-panel id="selected-file">
@@ -579,17 +671,17 @@
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="-8" y="-8" width="1456" height="876" extended-state="6" /> <frame x="-8" y="-8" width="1456" height="876" extended-state="6" />
<editor active="true" />
<layout> <layout>
<window_info id="TypeScript" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25403225" sideWeight="0.49435824" order="11" side_tool="false" content_ui="tabs" /> <window_info id="TypeScript" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25403225" sideWeight="0.49083215" order="11" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25599435" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25599435" sideWeight="0.71543086" order="0" side_tool="false" content_ui="combo" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3293011" sideWeight="0.49717912" order="6" side_tool="false" content_ui="tabs" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3293011" sideWeight="0.49717912" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3293011" sideWeight="0.5070522" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25403225" sideWeight="0.50916785" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3293011" sideWeight="0.49153736" order="8" side_tool="false" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3293011" sideWeight="0.49153736" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3293011" sideWeight="0.49717912" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3293011" sideWeight="0.49717912" order="2" side_tool="false" content_ui="tabs" />
<window_info id="npm" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> <window_info id="npm" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25599435" sideWeight="0.28456914" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3293011" sideWeight="0.49294782" order="9" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3293011" sideWeight="0.49294782" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" /> <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
@@ -598,6 +690,7 @@
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
</layout> </layout>
</component> </component>
@@ -664,7 +757,8 @@
<MESSAGE value="Added checkbox input" /> <MESSAGE value="Added checkbox input" />
<MESSAGE value="Remote question and value service" /> <MESSAGE value="Remote question and value service" />
<MESSAGE value="Finished value service" /> <MESSAGE value="Finished value service" />
<option name="LAST_COMMIT_MESSAGE" value="Finished value service" /> <MESSAGE value="Dropdown foreign implementation" />
<option name="LAST_COMMIT_MESSAGE" value="Dropdown foreign implementation" />
</component> </component>
<component name="XDebuggerManager"> <component name="XDebuggerManager">
<breakpoint-manager> <breakpoint-manager>
@@ -679,21 +773,13 @@
<watches-manager /> <watches-manager />
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<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">
<caret line="14" column="17" lean-forward="false" selection-start-line="14" selection-start-column="17" selection-end-line="14" selection-end-column="17" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/dropdown-input.component.ts"> <entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/dropdown-input.component.ts">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="816"> <state relative-caret-position="816">
<caret line="51" column="38" lean-forward="false" selection-start-line="51" selection-start-column="38" selection-end-line="51" selection-end-column="38" /> <caret line="51" column="38" lean-forward="false" selection-start-line="51" selection-start-column="38" selection-end-line="51" selection-end-column="38" />
<folding> <folding>
<element signature="e#0#85#0" expanded="true" /> <element signature="e#0#85#0" expanded="true" />
<marker date="1496823666184" expanded="true" signature="399:512" ph="..." /> <marker date="1497012606025" expanded="true" signature="513:626" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>
@@ -710,7 +796,7 @@
<state relative-caret-position="799"> <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" /> <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" /> <element signature="e#0#43#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
@@ -756,15 +842,14 @@
<state relative-caret-position="357"> <state relative-caret-position="357">
<caret line="21" column="27" lean-forward="true" selection-start-line="21" selection-start-column="27" selection-end-line="21" selection-end-column="27" /> <caret line="21" column="27" lean-forward="true" selection-start-line="21" selection-start-column="27" selection-end-line="21" selection-end-column="27" />
<folding> <folding>
<element signature="e#0#69#0" expanded="false" /> <marker date="1496999757978" expanded="true" signature="330:3101" ph="..." />
<marker date="1496823207959" expanded="true" signature="330:3061" ph="..." /> <marker date="1496999757978" expanded="true" signature="792:1097" ph="..." />
<marker date="1496823207959" expanded="true" signature="792:1097" ph="..." /> <marker date="1496999757978" expanded="true" signature="1147:1405" ph="..." />
<marker date="1496823207959" expanded="true" signature="1147:1405" ph="..." /> <marker date="1496999757978" expanded="true" signature="1459:1829" ph="..." />
<marker date="1496823207959" expanded="true" signature="1459:1789" ph="..." /> <marker date="1496999757978" expanded="true" signature="1883:2149" ph="..." />
<marker date="1496823207959" expanded="true" signature="1843:2109" ph="..." /> <marker date="1496999757978" expanded="true" signature="2201:2632" ph="..." />
<marker date="1496823207959" expanded="true" signature="2161:2592" ph="..." /> <marker date="1496999757978" expanded="true" signature="2686:2952" ph="..." />
<marker date="1496823207959" expanded="true" signature="2646:2912" ph="..." /> <marker date="1496999757978" expanded="true" signature="3007:3088" ph="..." />
<marker date="1496823207959" expanded="true" signature="2967:3048" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>
@@ -791,7 +876,7 @@
<caret line="51" column="38" lean-forward="false" selection-start-line="51" selection-start-column="38" selection-end-line="51" selection-end-column="38" /> <caret line="51" column="38" lean-forward="false" selection-start-line="51" selection-start-column="38" selection-end-line="51" selection-end-column="38" />
<folding> <folding>
<element signature="e#0#85#0" expanded="true" /> <element signature="e#0#85#0" expanded="true" />
<marker date="1496823666184" expanded="true" signature="399:512" ph="..." /> <marker date="1497012606025" expanded="true" signature="513:626" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>
@@ -849,13 +934,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/hidden-input.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="168">
<caret line="17" column="6" lean-forward="false" selection-start-line="17" selection-start-column="6" selection-end-line="17" selection-end-column="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/types/keys.pipe.ts"> <entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/types/keys.pipe.ts">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="17"> <state relative-caret-position="17">
@@ -863,13 +941,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/app/app.module.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/styles.css"> <entry file="file://$PROJECT_DIR$/src/styles.css">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="0">
@@ -913,80 +984,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/index.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="255">
<caret line="15" column="46" lean-forward="false" selection-start-line="15" selection-start-column="46" selection-end-line="15" selection-end-column="46" />
</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">
<caret line="38" column="18" lean-forward="false" selection-start-line="38" selection-start-column="18" selection-end-line="38" selection-end-column="18" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/textbox-input.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="17">
<caret line="14" column="5" lean-forward="false" selection-start-line="14" selection-start-column="5" selection-end-line="14" selection-end-column="5" />
</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" />
</state>
</provider>
</entry>
<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>
<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="false" />
<marker date="1496824450537" expanded="true" signature="404:466" ph="..." />
</folding>
</state>
</provider>
</entry>
<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="false" />
</folding>
</state>
</provider>
</entry>
<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" />
</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="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" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.component.ts"> <entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.component.ts">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="340"> <state relative-caret-position="340">
@@ -1001,24 +998,6 @@
</state> </state>
</provider> </provider>
</entry> </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="false" />
<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"> <entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/types/form.interface.ts">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="119"> <state relative-caret-position="119">
@@ -1055,27 +1034,11 @@
<state relative-caret-position="51"> <state relative-caret-position="51">
<caret line="8" column="26" lean-forward="false" selection-start-line="8" selection-start-column="26" selection-end-line="8" selection-end-column="26" /> <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> <folding>
<element signature="e#0#43#0" expanded="true" /> <element signature="e#0#43#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </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="493">
<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"> <entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/dyn-form.module.ts">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="221"> <state relative-caret-position="221">
@@ -1089,30 +1052,180 @@
<state relative-caret-position="272"> <state relative-caret-position="272">
<caret line="18" column="1" lean-forward="false" selection-start-line="18" selection-start-column="1" selection-end-line="18" selection-end-column="1" /> <caret line="18" column="1" lean-forward="false" selection-start-line="18" selection-start-column="1" selection-end-line="18" selection-end-column="1" />
<folding> <folding>
<element signature="e#0#51#0" expanded="true" /> <element signature="e#0#51#0" expanded="false" />
</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="323">
<caret line="22" column="41" lean-forward="false" 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> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/services/value.service.ts"> <entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/services/value.service.ts">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="306"> <state relative-caret-position="153">
<caret line="48" column="15" lean-forward="true" selection-start-line="48" selection-start-column="15" selection-end-line="48" selection-end-column="15" /> <caret line="63" column="7" lean-forward="false" selection-start-line="63" selection-start-column="7" selection-end-line="63" selection-end-column="7" />
<folding> <folding>
<element signature="e#0#43#0" expanded="true" /> <element signature="e#0#43#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </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="17">
<caret line="22" column="41" lean-forward="false" selection-start-line="22" selection-start-column="41" selection-end-line="22" selection-end-column="41" />
<folding>
<element signature="e#0#51#0" expanded="false" />
</folding>
</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="272">
<caret line="16" column="99" lean-forward="false" selection-start-line="16" selection-start-column="14" selection-end-line="16" selection-end-column="99" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/app.module.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/modules/dyn-form/dyn-question.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="205">
<caret line="60" column="22" lean-forward="true" selection-start-line="60" selection-start-column="22" selection-end-line="60" selection-end-column="22" />
<folding>
<marker date="1496999757978" expanded="true" signature="330:3101" ph="..." />
<marker date="1496999757978" expanded="true" signature="792:1097" ph="..." />
<marker date="1496999757978" expanded="true" signature="1147:1405" ph="..." />
<marker date="1496999757978" expanded="true" signature="1459:1829" ph="..." />
<marker date="1496999757978" expanded="true" signature="1883:2149" ph="..." />
<marker date="1496999757978" expanded="true" signature="2201:2632" ph="..." />
<marker date="1496999757978" expanded="true" signature="2686:2952" ph="..." />
<marker date="1496999757978" expanded="true" signature="3007:3088" 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="34">
<caret line="2" column="0" lean-forward="false" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/index.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="374">
<caret line="22" column="11" lean-forward="false" selection-start-line="22" selection-start-column="11" selection-end-line="22" selection-end-column="11" />
<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="119">
<caret line="10" column="25" lean-forward="false" selection-start-line="10" selection-start-column="25" selection-end-line="10" selection-end-column="25" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/dropdown-input.component.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="185">
<caret line="79" column="38" lean-forward="false" selection-start-line="79" selection-start-column="38" selection-end-line="79" selection-end-column="38" />
<folding>
<marker date="1497012610279" expanded="true" signature="1304:4237" ph="{...}" />
<marker date="1497012610279" expanded="true" signature="1768:1778" ph="{...}" />
<marker date="1497012610279" expanded="true" signature="3843:4008" ph="{...}" />
<marker date="1497012610279" expanded="true" signature="3859:4001" ph="{...}" />
<marker date="1497012610279" expanded="true" signature="3875:3999" ph="{&quot;message&quot;: &quot;This value is invalid. Please select another value!&quot;...}" />
<marker date="1497012610279" expanded="true" signature="4098:4199" ph="{...}" />
<marker date="1497012610279" expanded="true" signature="4298:4360" ph="[...]" />
<marker date="1497012610279" expanded="true" signature="4428:4490" ph="[...]" />
<marker date="1497012610279" expanded="true" signature="4558:4618" ph="[...]" />
<marker date="1497012610279" expanded="true" signature="4683:4744" ph="[...]" />
<marker date="1497012610279" expanded="true" signature="4863:5777" ph="[...]" />
<marker date="1497012610279" expanded="true" signature="4886:5705" ph="{&quot;selector&quot;: 'dropdown-input'...}" />
<marker date="1497012610279" expanded="true" signature="5235:5699" ph="[...]" />
<marker date="1497012610279" expanded="true" signature="5249:5443" ph="{&quot;provide&quot;: forms_1.NG_VALUE_ACCESSOR...}" />
<marker date="1497012610279" expanded="true" signature="5457:5647" ph="{&quot;provide&quot;: forms_1.NG_VALIDATORS...}" />
</folding>
</state>
</provider>
</entry>
<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="-750">
<caret line="43" column="37" lean-forward="false" selection-start-line="43" selection-start-column="37" selection-end-line="43" selection-end-column="37" />
<folding>
<element signature="e#0#85#0" expanded="true" />
<marker date="1497012606025" expanded="true" signature="513:626" ph="..." />
</folding>
</state>
</provider>
</entry>
<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="17">
<caret line="11" column="29" lean-forward="false" selection-start-line="11" selection-start-column="29" selection-end-line="11" selection-end-column="29" />
<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="202">
<caret line="43" column="6" lean-forward="true" selection-start-line="43" selection-start-column="6" selection-end-line="43" selection-end-column="6" />
<folding />
</state>
</provider>
</entry>
<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="136">
<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 />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/hidden-input.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270">
<caret line="26" column="3" lean-forward="true" selection-start-line="26" selection-start-column="3" selection-end-line="26" selection-end-column="3" />
<folding />
</state>
</provider>
</entry>
<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="253">
<caret line="69" column="33" lean-forward="false" selection-start-line="69" selection-start-column="33" selection-end-line="69" selection-end-column="33" />
<folding>
<marker date="1496824450537" expanded="true" signature="404:466" ph="..." />
</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="763">
<caret line="49" column="40" lean-forward="false" selection-start-line="49" selection-start-column="40" selection-end-line="49" selection-end-column="40" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/app/modules/dyn-form/inputs/textbox-input.component.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="627">
<caret line="58" column="36" lean-forward="true" selection-start-line="58" selection-start-column="36" selection-end-line="58" selection-end-column="36" />
<folding />
</state>
</provider>
</entry>
</component> </component>
</project> </project>

View File

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

View File

@@ -1,4 +1,4 @@
import {Component} from '@angular/core'; import {Component, Input, OnChanges, SimpleChanges} from '@angular/core';
import {QuestionInterface} from './modules/dyn-form/types/question.interface'; import {QuestionInterface} from './modules/dyn-form/types/question.interface';
import {FormService} from './modules/dyn-form/services/form.service'; import {FormService} from './modules/dyn-form/services/form.service';
import {ValueService} from './modules/dyn-form/services/value.service'; import {ValueService} from './modules/dyn-form/services/value.service';
@@ -8,14 +8,20 @@ import {ValueService} from './modules/dyn-form/services/value.service';
templateUrl: './app.component.html' templateUrl: './app.component.html'
}) })
export class AppComponent { export class AppComponent {
public formQuestions: QuestionInterface[] = null; public formQuestions: QuestionInterface[] = null;
public formValue: Object = null; public formValue: Object = null;
public formName: string = ""; public formName: string = "";
public formDescription =""; public formDescription ="";
private uri: string = '/crf/fields';
constructor(private questionService: FormService, private valueService: ValueService) { constructor(private questionService: FormService, private valueService: ValueService) {
this.questionService.getForm('/crf/domains', (res, err) => { this.loadValues();
}
private loadValues() {
console.log(this.uri);
this.questionService.getForm(this.uri, (res, err) => {
if (err) if (err)
console.error(err); console.error(err);
else { else {
@@ -25,7 +31,7 @@ export class AppComponent {
console.log("questions", this.formQuestions); console.log("questions", this.formQuestions);
} }
}); });
this.valueService.getValue('/crf/domains', 3, (res, err) => { this.valueService.getValue(this.uri, 3, (res, err) => {
if (err) if (err)
console.error(err); console.error(err);
else { else {
@@ -35,7 +41,7 @@ export class AppComponent {
}); });
} }
submit(value: any) { public submit(value: any) {
console.log('send', value); console.log('send', value);
} }
} }

View File

@@ -22,7 +22,7 @@ import {FormGroup, ValidationErrors} from '@angular/forms';
<dropdown-input *ngSwitchCase="'dropdown'" <dropdown-input *ngSwitchCase="'dropdown'"
[formControlName]="question.properties.key" [id]="question.properties.key" [formControlName]="question.properties.key" [id]="question.properties.key"
[nullable]="question.constraints.optional" [readonly]="type=='view'" [nullable]="question.constraints.optional" [readonly]="type=='view'"
[items]="question.properties.options" [items]="question.properties.options" [foreign]="question.properties.foreign"
(ngModelChange)="change()"></dropdown-input> (ngModelChange)="change()"></dropdown-input>
<textarea-input *ngSwitchCase="'textarea'" <textarea-input *ngSwitchCase="'textarea'"
[formControlName]="question.properties.key" [id]="question.properties.key" [formControlName]="question.properties.key" [id]="question.properties.key"
@@ -61,7 +61,6 @@ export class DynQuestionComponent {
setTimeout(() => { setTimeout(() => {
this.errorList = []; this.errorList = [];
let control = this.form.controls[this.question.properties.key]; let control = this.form.controls[this.question.properties.key];
console.log("XX", this.question.properties.key, control.untouched, control.valid);
if (control.untouched || control.valid) if (control.untouched || control.valid)
return null; return null;
let errors: ValidationErrors = control.errors; let errors: ValidationErrors = control.errors;

View File

@@ -6,9 +6,9 @@ import {CustomInputComponent} from "./custom-input.component";
selector: 'checkbox-input', selector: 'checkbox-input',
template: template:
` `
<label><input *ngIf="!readonly" type="radio" [checked]="value===true" (change)="onChange(true)">Yes</label><br/> <label *ngIf="!readonly"><input type="radio" [checked]="value===true" (change)="onChange(true)">Yes</label><br/>
<label><input *ngIf="!readonly" type="radio" [checked]="value===false" (change)="onChange(false)">No</label><br/> <label *ngIf="!readonly"><input type="radio" [checked]="value===false" (change)="onChange(false)">No</label><br/>
<label><input *ngIf="!readonly && nullable" type="radio" [checked]="value===null" (change)="onChange(null)">N/A</label><br/> <label *ngIf="!readonly && nullable"><input type="radio" [checked]="value===null" (change)="onChange(null)">N/A</label><br/>
<span *ngIf="readonly">{{value ? "Yes" : (value===false ? "No" : "N/A")}}</span> <span *ngIf="readonly">{{value ? "Yes" : (value===false ? "No" : "N/A")}}</span>
`, `,
providers: [ providers: [

View File

@@ -1,6 +1,8 @@
import {Component, forwardRef, Input, OnChanges, SimpleChanges} from '@angular/core'; import {Component, forwardRef, Input, OnChanges, SimpleChanges} from '@angular/core';
import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormControl, ValidationErrors } from '@angular/forms'; import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormControl, ValidationErrors } from '@angular/forms';
import {CustomInputComponent} from "./custom-input.component"; import {CustomInputComponent} from "./custom-input.component";
import {ValueService} from '../services/value.service';
import {consoleTestResultHandler} from 'tslint/lib/test';
@Component({ @Component({
selector: 'dropdown-input', selector: 'dropdown-input',
@@ -21,34 +23,51 @@ import {CustomInputComponent} from "./custom-input.component";
provide: NG_VALIDATORS, provide: NG_VALIDATORS,
useExisting: forwardRef(() => DropdownInputComponent), useExisting: forwardRef(() => DropdownInputComponent),
multi: true, multi: true,
}] },
ValueService
]
}) })
export class DropdownInputComponent extends CustomInputComponent implements OnChanges { export class DropdownInputComponent extends CustomInputComponent implements OnChanges {
@Input() readonly: boolean = false; @Input() readonly: boolean = false;
@Input() nullable: boolean = false; @Input() nullable: boolean = false;
@Input() items: Array<{key: string, value: string}> = []; @Input() items: Array<{key: string, value: string}> = [];
@Input() foreign: {uri: string, keys: string, values: string, options?: {key: string, value: string}[]};
private listedItems: Array<{key: string, value: string}> = []; private listedItems: Array<{key: string, value: string}> = [];
private foreignItems: Array<{key: string, value: string}> = [];
private constVal: string; private constVal: string;
constructor(private valueService: ValueService) {
super();
}
// set initial value // set initial value
public writeValue(obj: any): void { public writeValue(obj: any): void {
console.log("init: ", obj);
this.value = obj; this.value = obj;
this.updateConst(); this.updateConst();
} }
public ngOnChanges(changes: SimpleChanges) { public ngOnChanges(changes: SimpleChanges) {
console.log("onchnage: ", this.value);
if (changes['items'] || changes['nullable'] || changes['readonly']) { if (changes['items'] || changes['nullable'] || changes['readonly']) {
if (this.nullable) this.setListedItems();
this.listedItems = [{key: "", value: "N/A"}, {key: null, value: "N/A"}].concat(this.items); }
else if (changes['foreign'] && this.foreign) {
this.listedItems = this.items; this.valueService.getValues(this.foreign.uri, {}, (res, err) => {
this.updateConst(); this.foreignItems = [];
for (let item of res as any) {
this.foreignItems.push({key: item[this.foreign.keys], value: item[this.foreign.values]});
}
this.setListedItems();
});
} }
} }
private setListedItems() {
if (this.nullable)
this.listedItems = [{key: "", value: "N/A"}, {key: null, value: "N/A"}].concat(this.items || []).concat(this.foreignItems || []);
else
this.listedItems = [].concat(this.items || []).concat(this.foreignItems || []);
this.updateConst();
}
private updateConst() { private updateConst() {
if (this.readonly) { if (this.readonly) {
@@ -63,7 +82,6 @@ export class DropdownInputComponent extends CustomInputComponent implements OnCh
// validates the form, returns null when valid else the validation object // validates the form, returns null when valid else the validation object
public validate(c: FormControl): ValidationErrors { public validate(c: FormControl): ValidationErrors {
console.log("validate", this.value, this.initComplete, this.nullable, this.items);
if (!this.initComplete) if (!this.initComplete)
return null; return null;
if (this.value===null) { if (this.value===null) {
@@ -72,12 +90,10 @@ export class DropdownInputComponent extends CustomInputComponent implements OnCh
message: "This field is required!" message: "This field is required!"
}}; }};
} }
for (let i=0; i<this.items.length; i++) { for (let i=0; i<this.listedItems.length; i++) {
console.log(this.items[i].key, this.value); if (this.listedItems[i].key==this.value)
if (this.items[i].key==this.value)
return null; return null;
} }
console.log("ret invalid");
return {invalidValue: { return {invalidValue: {
valid: false, valid: false,
message: "This value is invalid. Please select another value!" message: "This value is invalid. Please select another value!"

View File

@@ -30,6 +30,8 @@ export class TextareaInputComponent extends CustomInputComponent {
public writeValue(obj: any): void { public writeValue(obj: any): void {
if (obj) { if (obj) {
this.value = obj + ''; this.value = obj + '';
} else {
this.value = '';
} }
} }
@@ -46,7 +48,6 @@ export class TextareaInputComponent extends CustomInputComponent {
// on button click // on button click
protected onChange($event: KeyboardEvent): void { protected onChange($event: KeyboardEvent): void {
this.value = $event.target['value']; this.value = $event.target['value'];
console.log("NEW:", this.value, $event.target, $event.target['value']);
super.change(); super.change();
} }

View File

@@ -34,6 +34,8 @@ export class TextboxInputComponent extends CustomInputComponent {
public writeValue(obj: any): void { public writeValue(obj: any): void {
if (obj) { if (obj) {
this.value = obj + ''; this.value = obj + '';
} else {
this.value = '';
} }
} }