a lot of changes

This commit is contained in:
Borys Levytskyi
2015-04-03 00:20:00 +03:00
parent c200a2d507
commit e1963fb09c
11 changed files with 246 additions and 231 deletions

283
.idea/workspace.xml generated
View File

@@ -24,20 +24,30 @@
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="views.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/views/views.js">
<entry file="file://$PROJECT_DIR$/app/views.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1190">
<caret line="61" column="0" selection-start-line="61" selection-start-column="0" selection-end-line="61" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="269" max-vertical-offset="1190">
<caret line="37" column="9" selection-start-line="37" selection-start-column="9" selection-end-line="37" selection-end-column="9" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="inputCtrl.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/inputCtrl.js">
<file leaf-file-name="controllers.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/controllers.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="493">
<caret line="7" column="16" selection-start-line="7" selection-start-column="16" selection-end-line="7" selection-end-column="16" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="731">
<caret line="34" column="34" selection-start-line="34" selection-start-column="20" selection-end-line="34" selection-end-column="34" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="services.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/services.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="119" max-vertical-offset="238">
<caret line="7" column="0" selection-start-line="7" selection-start-column="0" selection-end-line="7" selection-end-column="0" />
<folding />
</state>
</provider>
@@ -46,8 +56,38 @@
<file leaf-file-name="index.html" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/index.html">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.5821229" vertical-offset="210" max-vertical-offset="1564">
<caret line="43" column="21" selection-start-line="43" selection-start-column="21" selection-end-line="43" selection-end-column="21" />
<state vertical-scroll-proportion="0.4178771" vertical-offset="714" max-vertical-offset="1802">
<caret line="64" column="49" selection-start-line="64" selection-start-column="49" selection-end-line="64" selection-end-column="49" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="bindr.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/components/bindr.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="830" max-vertical-offset="2057">
<caret line="84" column="25" selection-start-line="84" selection-start-column="25" selection-end-line="84" selection-end-column="25" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="commandr.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/components/commandr.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="204" max-vertical-offset="612">
<caret line="12" column="28" selection-start-line="12" selection-start-column="28" selection-end-line="12" selection-end-column="28" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="app.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/app.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1258">
<caret line="35" column="6" selection-start-line="35" selection-start-column="6" selection-end-line="35" selection-end-column="6" />
<folding />
</state>
</provider>
@@ -66,38 +106,8 @@
<file leaf-file-name="dispatcher.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/dispatcher.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="459">
<caret line="13" column="20" selection-start-line="13" selection-start-column="20" selection-end-line="13" selection-end-column="24" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="commandr.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/components/commandr.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="170" max-vertical-offset="595">
<caret line="10" column="49" selection-start-line="10" selection-start-column="49" selection-end-line="10" selection-end-column="49" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="app.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/app.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="1054" max-vertical-offset="1207">
<caret line="62" column="0" selection-start-line="62" selection-start-column="0" selection-end-line="62" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="should.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/components/should.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="391" max-vertical-offset="578">
<caret line="23" column="9" selection-start-line="23" selection-start-column="9" selection-end-line="23" selection-end-column="9" />
<state vertical-scroll-proportion="0.0" vertical-offset="34" max-vertical-offset="289">
<caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
<folding />
</state>
</provider>
@@ -113,16 +123,6 @@
</provider>
</entry>
</file>
<file leaf-file-name="bindr.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/components/bindr.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="830" max-vertical-offset="1751">
<caret line="65" column="21" selection-start-line="65" selection-start-column="21" selection-end-line="65" selection-end-column="21" />
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FindManager">
@@ -158,17 +158,20 @@
<option value="$PROJECT_DIR$/js/app.js" />
<option value="$PROJECT_DIR$/js/components/commandr.js" />
<option value="$PROJECT_DIR$/js/bitwise/expression.js" />
<option value="$PROJECT_DIR$/app/bitwise/expression.js" />
<option value="$PROJECT_DIR$/app/bootstrap.js" />
<option value="$PROJECT_DIR$/app/app.js" />
<option value="$PROJECT_DIR$/components/bindr.js" />
<option value="$PROJECT_DIR$/components/commandr.js" />
<option value="$PROJECT_DIR$/css/styles.css" />
<option value="$PROJECT_DIR$/app/views.js" />
<option value="$PROJECT_DIR$/app/inputCtrl.js" />
<option value="$PROJECT_DIR$/components/html.js" />
<option value="$PROJECT_DIR$/app/views/views.js" />
<option value="$PROJECT_DIR$/app/bitwise/expression.js" />
<option value="$PROJECT_DIR$/app/dispatcher.js" />
<option value="$PROJECT_DIR$/components/commandr.js" />
<option value="$PROJECT_DIR$/app/console.js" />
<option value="$PROJECT_DIR$/app/bootstrap.js" />
<option value="$PROJECT_DIR$/app/controllers.js" />
<option value="$PROJECT_DIR$/components/controlr.js" />
<option value="$PROJECT_DIR$/components/bindr.js" />
<option value="$PROJECT_DIR$/app/app.js" />
<option value="$PROJECT_DIR$/index.html" />
</list>
</option>
@@ -266,7 +269,7 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="app" />
<option name="myItemId" value="components" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
@@ -283,10 +286,6 @@
<option name="myItemId" value="app" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="views" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
@@ -303,11 +302,11 @@
<recent name="C:\Projects\BitwiseCalc\js\components" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="C:\Projects\BitwiseCalc\app" />
<recent name="C:\Projects\BitwiseCalc\app\views" />
<recent name="C:\Projects\BitwiseCalc" />
<recent name="C:\Projects\BitwiseCalc\js\bitwise" />
<recent name="C:\Projects\BitwiseCalc\js" />
<recent name="C:\Projects\BitwiseCalc\js\components" />
</key>
</component>
<component name="RunManager">
@@ -411,14 +410,6 @@
</breakpoint-manager>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/components/should.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="442" max-vertical-offset="578">
<caret line="26" column="0" selection-start-line="26" selection-start-column="0" selection-end-line="26" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/bitwise/calc.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="238" max-vertical-offset="493">
@@ -438,7 +429,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="578">
<caret line="4" column="0" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@@ -449,7 +439,7 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/views.js">
<entry file="file://$PROJECT_DIR$/app/views.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="51" max-vertical-offset="918">
<caret line="4" column="0" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
@@ -461,7 +451,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="442" max-vertical-offset="561">
<caret line="26" column="0" selection-start-line="26" selection-start-column="0" selection-end-line="26" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@@ -484,7 +473,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="306" max-vertical-offset="493">
<caret line="18" column="6" selection-start-line="18" selection-start-column="6" selection-end-line="18" selection-end-column="6" />
<folding />
</state>
</provider>
</entry>
@@ -495,7 +483,7 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/views.js">
<entry file="file://$PROJECT_DIR$/app/views.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="139" max-vertical-offset="867">
<caret line="18" column="30" selection-start-line="18" selection-start-column="30" selection-end-line="18" selection-end-column="30" />
@@ -507,7 +495,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="136" max-vertical-offset="646">
<caret line="8" column="21" selection-start-line="8" selection-start-column="21" selection-end-line="8" selection-end-column="21" />
<folding />
</state>
</provider>
</entry>
@@ -531,7 +518,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="272" max-vertical-offset="510">
<caret line="16" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="16" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@@ -542,7 +528,7 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/views.js">
<entry file="file://$PROJECT_DIR$/app/views.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="510" max-vertical-offset="663">
<caret line="30" column="0" selection-start-line="30" selection-start-column="0" selection-end-line="30" selection-end-column="0" />
@@ -554,7 +540,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="34" max-vertical-offset="187">
<caret line="2" column="54" selection-start-line="2" selection-start-column="54" selection-end-line="2" selection-end-column="54" />
<folding />
</state>
</provider>
</entry>
@@ -570,7 +555,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="323" max-vertical-offset="510">
<caret line="19" column="15" selection-start-line="19" selection-start-column="15" selection-end-line="19" selection-end-column="15" />
<folding />
</state>
</provider>
</entry>
@@ -581,7 +565,7 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/views.js">
<entry file="file://$PROJECT_DIR$/app/views.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="68" max-vertical-offset="204">
<caret line="4" column="3" selection-start-line="4" selection-start-column="3" selection-end-line="4" selection-end-column="3" />
@@ -593,7 +577,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="34" max-vertical-offset="187">
<caret line="2" column="54" selection-start-line="2" selection-start-column="54" selection-end-line="2" selection-end-column="54" />
<folding />
</state>
</provider>
</entry>
@@ -609,7 +592,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="323" max-vertical-offset="510">
<caret line="19" column="15" selection-start-line="19" selection-start-column="15" selection-end-line="19" selection-end-column="15" />
<folding />
</state>
</provider>
</entry>
@@ -620,7 +602,7 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/views.js">
<entry file="file://$PROJECT_DIR$/app/views.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="68" max-vertical-offset="204">
<caret line="4" column="3" selection-start-line="4" selection-start-column="3" selection-end-line="4" selection-end-column="3" />
@@ -632,7 +614,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="17" max-vertical-offset="187">
<caret line="1" column="24" selection-start-line="1" selection-start-column="24" selection-end-line="1" selection-end-column="24" />
<folding />
</state>
</provider>
</entry>
@@ -648,7 +629,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="272" max-vertical-offset="510">
<caret line="16" column="7" selection-start-line="16" selection-start-column="7" selection-end-line="16" selection-end-column="7" />
<folding />
</state>
</provider>
</entry>
@@ -659,7 +639,7 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/views.js">
<entry file="file://$PROJECT_DIR$/app/views.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="17" max-vertical-offset="170">
<caret line="1" column="5" selection-start-line="1" selection-start-column="5" selection-end-line="1" selection-end-column="5" />
@@ -679,7 +659,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="306" max-vertical-offset="510">
<caret line="18" column="0" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@@ -698,11 +677,10 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/bitwise/formatter.js">
<entry file="file://$PROJECT_DIR$/components/should.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="578">
<caret line="4" column="0" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
<folding />
<caret line="23" column="9" selection-start-line="23" selection-start-column="9" selection-end-line="23" selection-end-column="9" />
</state>
</provider>
</entry>
@@ -713,49 +691,24 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/bitwise/formatter.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="255">
<caret line="3" column="51" selection-start-line="3" selection-start-column="51" selection-end-line="3" selection-end-column="51" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/bitwise/expression.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="510">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="476">
<caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/bootstrap.js">
<entry file="file://$PROJECT_DIR$/app/dispatcher.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="238">
<caret line="7" column="0" selection-start-line="7" selection-start-column="0" selection-end-line="7" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/components/commandr.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="595">
<caret line="10" column="49" selection-start-line="10" selection-start-column="49" selection-end-line="10" selection-end-column="49" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/app.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="510">
<caret line="62" column="0" selection-start-line="62" selection-start-column="0" selection-end-line="62" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/components/should.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="578">
<caret line="23" column="9" selection-start-line="23" selection-start-column="9" selection-end-line="23" selection-end-column="9" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/components/bindr.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="592" max-vertical-offset="1513">
<caret line="65" column="21" selection-start-line="65" selection-start-column="21" selection-end-line="65" selection-end-column="21" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="289">
<caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
<folding />
</state>
</provider>
@@ -768,6 +721,54 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/services.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="238">
<caret line="7" column="0" selection-start-line="7" selection-start-column="0" selection-end-line="7" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="269" max-vertical-offset="1190">
<caret line="37" column="9" selection-start-line="37" selection-start-column="9" selection-end-line="37" selection-end-column="9" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/components/commandr.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="612">
<caret line="12" column="28" selection-start-line="12" selection-start-column="28" selection-end-line="12" selection-end-column="28" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/controllers.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="731">
<caret line="34" column="34" selection-start-line="34" selection-start-column="20" selection-end-line="34" selection-end-column="34" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/components/bindr.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="830" max-vertical-offset="2057">
<caret line="84" column="25" selection-start-line="84" selection-start-column="25" selection-end-line="84" selection-end-column="25" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/app.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1258">
<caret line="35" column="6" selection-start-line="35" selection-start-column="6" selection-end-line="35" selection-end-column="6" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/components/html.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1105">
@@ -776,34 +777,10 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/inputCtrl.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="493">
<caret line="7" column="16" selection-start-line="7" selection-start-column="16" selection-end-line="7" selection-end-column="16" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/dispatcher.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="459">
<caret line="13" column="20" selection-start-line="13" selection-start-column="20" selection-end-line="13" selection-end-column="24" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/views.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1190">
<caret line="61" column="0" selection-start-line="61" selection-start-column="0" selection-end-line="61" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/index.html">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.5821229" vertical-offset="210" max-vertical-offset="1564">
<caret line="43" column="21" selection-start-line="43" selection-start-column="21" selection-end-line="43" selection-end-column="21" />
<state vertical-scroll-proportion="0.4178771" vertical-offset="714" max-vertical-offset="1802">
<caret line="64" column="49" selection-start-line="64" selection-start-column="49" selection-end-line="64" selection-end-column="49" />
<folding />
</state>
</provider>

View File

@@ -1,23 +1,13 @@
(function (should, commandr) {
(function (should, commandr, bindr) {
var app = {};
app.views = {};
app.view = function (element, model) {
var viewElement = element;
if(typeof element == 'string') {
viewElement = document.querySelectorAll(element)[0];
}
should.notBeNull(element);
bindr.bindView(viewElement, model);
var app = {
views: {}
};
var servicesContainer = {};
var controllersContainer = {};
var commands = {};
var commandHandlers = {};
var runObservers = [];
function resolveOrInject(name, inst, container, entityName) {
var resolved;
@@ -46,10 +36,10 @@
};
app.command = function(name, handler) {
var cmd = commands[name];
var cmd = commandHandlers[name];
if(cmd == null) {
cmd = commands[name] = new commandr.Command(name);
cmd = commandHandlers[name] = new commandr.Command(name);
}
if(typeof handler == "function") {
@@ -59,8 +49,21 @@
return cmd;
};
app.run = function(observer) {
runObservers.push(observer);
};
app.bootstrap = function(rootViewElement) {
invokeRunObservers();
bindr.bindControllers(rootViewElement, controllersContainer);
};
function invokeRunObservers() {
runObservers.forEach(function(o){ o(); });
}
window.app = app;
})(window.should, window.commandr);
})(window.should, window.commandr, window.bindr);

View File

@@ -1,4 +1,4 @@
(function(bitwise) {
(function() {
var twoOperandsRegex = /^(\d+)(<<|>>|\||\&|\^)(\d+)$/;
app.service('expression', {
@@ -8,8 +8,6 @@
return null;
}
console.log(matches);
return {
string:matches[0],
operand1: parseInt(matches[1], 10),

37
app/controllers.js Normal file
View File

@@ -0,0 +1,37 @@
(function(app){
app.controller('expressionInputCtrl', {
bindView: function (viewElement) {
var dispatcher = app.service('dispatcher');
viewElement.addEventListener('keyup', function (args) {
if (args.keyCode != 13) {
return;
}
// Enter
dispatcher.dispatch(args.srcElement.value);
args.srcElement.value = '';
});
}
});
app.service('resultView', {
bindView: function(viewElement) {
this.viewElement = viewElement;
},
clear: function (){
this.viewElement.innerHTML = '';
},
insert: function (htmlElement) {
if(this.viewElement.childNodes.length == 0) {
this.viewElement.appendChild(htmlElement);
}
else
{
this.viewElement.appendChild(htmlElement);
}
}
});
app.controller('resultViewCtrl', app.service('resultView'));
})(window.app);

View File

@@ -1,21 +1,11 @@
(function(app){
var handlers = [];
var dispatcher = {
handler: function(handler) {
handlers.push(handler);
},
dispatch: function(cmd) {
var i, result;
for(i=0; i<handlers.length; i++){
result = handlers[i](cmd);
if(result != null) {
this
}
}
},
dispatch: function(input) {
app.command('dispatchInput').execute({input:input});
}
};
app.service('dispatcher', dispatcher);
})(window.app);

View File

@@ -1,23 +0,0 @@
(function(){
function subscribeEvents(element) {
element.addEventListener('keyup', function(args) {
if(args.keyCode == 13) {
// Enter
app.command('dispatchInput').execute({ input: args.srcElement.value });
args.srcElement.value = '';
}
console.log(args)
});
}
app.controller('expressionInputCtrl', {
bind: function (element) {
subscribeEvents(element);
}
});
})(window.app);

View File

@@ -4,6 +4,6 @@
builder: function () {
return new HtmlBuilder();
}
})
});
})(window.app, window.HtmlBuilder);

View File

@@ -72,6 +72,24 @@
};
bindr.bindControllers = function (rootViewElement, controllers) {
var elements = rootViewElement.querySelectorAll('[data-controller]'),
i = 0, l = elements.length, name, ctrl;
for(;i<l;i++){
name = elements[i].getAttribute('data-controller');
ctrl = controllers[name];
if(ctrl == null) {
console.warn(nam + ' controller wasn\'t found');
continue;
}
ctrl.bindView(elements[i]);
console.log(name + ' Controller: view bound');
}
}
function bindInput(model, intput, propertyName) {
intput.addEventListener('keyup', function(e){
model[propertyName] = e.srcElement.value;

View File

@@ -9,6 +9,7 @@
}
Command.prototype.execute = function (cmdArgs) {
cmdArgs = cmdArgs || {};
cmdArgs.commandHandled = false;
for(var i=0; i<this.executionHandlers.length; i++) {

View File

@@ -9,22 +9,23 @@
<script type="text/javascript" src="components/commandr.js"></script>
<script type="text/javascript" src="components/should.js"></script>
<script type="text/javascript" src="components/html.js"></script>
<script type="text/javascript" src="components/controlr.js"></script>
<script type="text/javascript" src="app/app.js"></script>
<script type="text/javascript" src="app/bitwise/calc.js"></script>
<script type="text/javascript" src="app/bitwise/expression.js"></script>
<script type="text/javascript" src="app/bitwise/formatter.js"></script>
<script type="text/javascript" src="app/views/views.js"></script>
<script type="text/javascript" src="app/inputCtrl.js"></script>
<script type="text/javascript" src="app/bootstrap.js"></script>
<script type="text/javascript" src="app/views.js"></script>
<script type="text/javascript" src="app/dispatcher.js"></script>
<script type="text/javascript" src="app/controllers.js"></script>
<script type="text/javascript" src="app/services.js"></script>
<link rel="stylesheet" type="text/css" href="css/styles.css" />
</head>
<body id="view">
<input id="in" type="text" data-bindr="expression"/>
<div id="out" type="text" data-bindr="expression"></div>
<body id="rootView">
<input id="in" type="text" data-controller="expressionInputCtrl"/>
<div id="out" type="text" data-controller="resultViewCtrl"></div>
<div id="output">
@@ -35,23 +36,20 @@
(function(){
var app = window.app;
var expression = app.service('expression');
var expressionInputCtrl = app.controller('expressionInputCtrl');
var outputDiv = document.getElementById('output');
var html = app.service('html');
app.controller('expressionInputCtrl').bind(document.getElementById('in'));
var html = app.service('html');
var resultView = app.service('resultView');
// Expression
app.command('dispatchInput', function(cmdArgs) {
var expr = expression.parse(cmdArgs.input);
if(expr == null) {
return;
}
var expressionView = new window.app.views.ExpressionView(expr);
outputDiv.appendChild(expressionView.getViewElement());
resultView.insert(expressionView.getViewElement());
cmdArgs.commandHandled = true;
});
@@ -62,10 +60,23 @@
return;
}
var commands = [{ name: 'help', description: 'Displays help'}];
var commands = [
{ name: 'help', description: 'Displays help'},
{ name: 'clear', description: 'Clears console'}
];
var helpView = new app.views.HelpView(commands);
var helpView = new app.views.HelpView(commands)
outputDiv.appendChild(helpView.getViewElement());
resultView.insert(helpView.getViewElement());
cmdArgs.commandHandled = true;
});
// Clear
app.command('dispatchInput', function(cmdArgs){
if(cmdArgs.input.toLowerCase() !== 'clear') {
return;
}
resultView.clear();
cmdArgs.commandHandled = true;
});
@@ -75,10 +86,13 @@
var hb = html.builder();
hb.element('div', { class: "result error", html: "Unknown expression: " + cmdArgs.input });
outputDiv.appendChild(hb.toHtmlElement());
resultView.insert(hb.toHtmlElement());
cmdArgs.commandHandled = true;
});
app.bootstrap(document.getElementById('rootView'));
})();
</script>