engine2 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +3 -117
  3. data/{views → app}/app.coffee +0 -0
  4. data/{public/css → app}/app.css +203 -196
  5. data/{views → app}/engine2.coffee +111 -60
  6. data/{views → app}/engine2actions.coffee +47 -28
  7. data/bower.json +13 -0
  8. data/conf/message.yaml +2 -1
  9. data/conf/message_pl.yaml +2 -1
  10. data/config.coffee +62 -0
  11. data/engine2.gemspec +2 -5
  12. data/lib/engine2.rb +1 -1
  13. data/lib/engine2/action.rb +9 -24
  14. data/lib/engine2/core.rb +9 -8
  15. data/lib/engine2/handler.rb +1 -5
  16. data/lib/engine2/meta.rb +61 -24
  17. data/lib/engine2/meta/array_meta.rb +82 -0
  18. data/lib/engine2/meta/decode_meta.rb +1 -1
  19. data/lib/engine2/meta/infra_meta.rb +21 -26
  20. data/lib/engine2/meta/list_meta.rb +2 -3
  21. data/lib/engine2/model.rb +5 -5
  22. data/lib/engine2/pre_bootstrap.rb +9 -1
  23. data/lib/engine2/scheme.rb +4 -0
  24. data/lib/engine2/type_info.rb +8 -1
  25. data/lib/engine2/version.rb +1 -1
  26. data/package.json +38 -0
  27. data/public/img/ajax-loader.gif +0 -0
  28. data/views/fields/blob.slim +4 -5
  29. data/views/fields/bs_select.slim +2 -2
  30. data/views/fields/bsselect_picker.slim +1 -2
  31. data/views/fields/bsselect_picker_opt.slim +1 -2
  32. data/views/fields/checkbox.slim +1 -1
  33. data/views/fields/checkbox_buttons.slim +1 -1
  34. data/views/fields/checkbox_buttons_opt.slim +1 -1
  35. data/views/fields/currency.slim +2 -2
  36. data/views/fields/date.slim +0 -1
  37. data/views/fields/date_range.slim +0 -1
  38. data/views/fields/date_time.slim +0 -1
  39. data/views/fields/datetime.slim +0 -2
  40. data/views/fields/decimal.slim +0 -1
  41. data/views/fields/decimal_date.slim +0 -1
  42. data/views/fields/decimal_time.slim +0 -1
  43. data/views/fields/email.slim +1 -2
  44. data/views/fields/file_store.slim +1 -1
  45. data/views/fields/input_text.slim +1 -2
  46. data/views/fields/integer.slim +1 -1
  47. data/views/fields/list_bsselect.slim +1 -2
  48. data/views/fields/list_bsselect_opt.slim +2 -3
  49. data/views/fields/list_buttons.slim +1 -1
  50. data/views/fields/list_buttons_opt.slim +1 -1
  51. data/views/fields/list_select.slim +1 -2
  52. data/views/fields/list_select_opt.slim +2 -3
  53. data/views/fields/password.slim +1 -2
  54. data/views/fields/radio_checkbox.slim +1 -1
  55. data/views/fields/scaffold.slim +1 -1
  56. data/views/fields/scaffold_picker.slim +1 -2
  57. data/views/fields/select_picker.slim +1 -2
  58. data/views/fields/select_picker_opt.slim +1 -2
  59. data/views/fields/text_area.slim +0 -1
  60. data/views/fields/time.slim +0 -1
  61. data/views/fields/typeahead_picker.slim +1 -2
  62. data/views/index.slim +4 -8
  63. data/views/scaffold/fields.slim +4 -4
  64. data/views/scaffold/form.slim +1 -7
  65. data/views/scaffold/form_collapse.slim +19 -0
  66. data/views/scaffold/form_tabs.slim +9 -0
  67. data/views/scaffold/list.slim +1 -12
  68. data/views/scaffold/search.slim +2 -9
  69. data/views/scaffold/search_collapse.slim +26 -0
  70. data/views/scaffold/search_tabs.slim +15 -0
  71. data/views/scaffold/view.slim +5 -15
  72. data/views/scaffold/view_collapse.slim +22 -0
  73. data/views/scaffold/view_tabs.slim +11 -0
  74. data/views/search_fields/bsmselect_picker.slim +1 -2
  75. data/views/search_fields/bsselect_picker.slim +1 -2
  76. data/views/search_fields/checkbox.slim +3 -3
  77. data/views/search_fields/checkbox2.slim +5 -5
  78. data/views/search_fields/checkbox_buttons.slim +2 -2
  79. data/views/search_fields/date_range.slim +0 -2
  80. data/views/search_fields/decimal_date_range.slim +5 -5
  81. data/views/search_fields/input_text.slim +2 -2
  82. data/views/search_fields/integer.slim +1 -1
  83. data/views/search_fields/integer_range.slim +2 -2
  84. data/views/search_fields/list_bsmselect.slim +1 -1
  85. data/views/search_fields/list_bsselect.slim +0 -1
  86. data/views/search_fields/list_buttons.slim +2 -2
  87. data/views/search_fields/list_select.slim +1 -2
  88. data/views/search_fields/scaffold_picker.slim +1 -2
  89. data/views/search_fields/select_picker.slim +1 -2
  90. data/views/search_fields/typeahead_picker.slim +1 -2
  91. metadata +29 -103
  92. data/public/assets/javascripts.js +0 -13
  93. data/public/assets/styles.css +0 -4
  94. data/public/css/angular-motion.css +0 -1022
  95. data/public/css/angular-ui-tree.min.css +0 -1
  96. data/public/css/bootstrap-additions.css +0 -1560
  97. data/public/css/bootstrap.min.css +0 -11
  98. data/public/css/font-awesome.min.css +0 -4
  99. data/public/fonts/FontAwesome.otf +0 -0
  100. data/public/fonts/fontawesome-webfont.eot +0 -0
  101. data/public/fonts/fontawesome-webfont.svg +0 -655
  102. data/public/fonts/fontawesome-webfont.ttf +0 -0
  103. data/public/fonts/fontawesome-webfont.woff +0 -0
  104. data/public/fonts/fontawesome-webfont.woff2 +0 -0
  105. data/public/fonts/glyphicons-halflings-regular.eot +0 -0
  106. data/public/fonts/glyphicons-halflings-regular.svg +0 -288
  107. data/public/fonts/glyphicons-halflings-regular.ttf +0 -0
  108. data/public/fonts/glyphicons-halflings-regular.woff +0 -0
  109. data/public/fonts/glyphicons-halflings-regular.woff2 +0 -0
  110. data/public/images/file.png +0 -0
  111. data/public/images/folder-closed.png +0 -0
  112. data/public/images/folder.png +0 -0
  113. data/public/images/node-closed-2.png +0 -0
  114. data/public/images/node-closed-light.png +0 -0
  115. data/public/images/node-closed.png +0 -0
  116. data/public/images/node-opened-2.png +0 -0
  117. data/public/images/node-opened-light.png +0 -0
  118. data/public/images/node-opened.png +0 -0
  119. data/public/img/ajax-loader-light.gif +0 -0
  120. data/public/js/angular-animate.js +0 -4147
  121. data/public/js/angular-cookies.js +0 -322
  122. data/public/js/angular-local-storage.js +0 -455
  123. data/public/js/angular-route.js +0 -1025
  124. data/public/js/angular-sanitize.js +0 -717
  125. data/public/js/angular-strap.js +0 -4339
  126. data/public/js/angular-strap.tpl.js +0 -43
  127. data/public/js/angular-ui-tree.js +0 -1569
  128. data/public/js/angular.js +0 -30868
  129. data/public/js/i18n/angular-locale_pl.js +0 -115
  130. data/public/js/lodash.custom.min.js +0 -99
  131. data/public/js/ng-file-upload-shim.min.js +0 -2
  132. data/public/js/ng-file-upload.min.js +0 -3
  133. data/views/engine2templates.coffee +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c81c9b9a3857540db437d0bc5ad18bab4e420a28
4
- data.tar.gz: 543048567b1754a90c6c286c6860181882aecd46
3
+ metadata.gz: 6174073612b4abd1d1a7c2fefbbf071874c2c566
4
+ data.tar.gz: 081dee914669d77bb0a9e32d13c219612aa79d75
5
5
  SHA512:
6
- metadata.gz: fc5faef135f2d9e1115016345988b2eb562e2aa2cec1fc106286fc79d70c43a73da84f580aa37583816af3b2d40e28104341cb0f0fcb9491232e1841bc01088d
7
- data.tar.gz: f6d800d24a201d967d91af602fd46918e73263f9fbd1572c525b80eada313b53967e19f010311e8be87666d06bc6485f721ff4502ef0f04b98540e5f6a1a250c
6
+ metadata.gz: 5631fd58edca95f2c3966ccc240a29b0089c78e7a80b9d3a7e5e239e2a001e0a02f7baa9ed6cdff6a0d98f061022f02d0768282513b457bf6e9fd180c8adf96e
7
+ data.tar.gz: bcc3a19a71996a4c2e8f5f2d511354dc1085de8bdd5eacce667cbe1f24a91587dee04892fb22d51276f7a152a4b21c72681e90f379731ad2f1d546f9c5940294
data/Rakefile CHANGED
@@ -1,60 +1,3 @@
1
- DIR = Dir.pwd
2
- VIEWS = DIR + "/views"
3
- PUBLIC = DIR + "/public"
4
- COFFEE_FILES = ["app", "engine2", "engine2actions"]
5
-
6
- desc "Compile JS"
7
- task :compile_js do
8
- require 'coffee-script'
9
- require 'uglifier'
10
- COFFEE_FILES.each do |cf|
11
- out = CoffeeScript.compile(open("#{VIEWS}/#{cf}.coffee", "r:UTF-8"))
12
- out = Uglifier.new(
13
- # mangle: false
14
- mangle: {except: %w|
15
- $injector
16
- $window
17
- $rootScope
18
- $scope
19
- $compile
20
- $routeProvider
21
- $compileProvider
22
- $locationProvider
23
- $location
24
- $route
25
- $parse
26
- $templateCache
27
- $resource
28
- $attrs
29
- $element
30
- $http
31
- $cookies
32
- $sanitize
33
- $timeout
34
- $httpProvider
35
- $logProvider
36
- $q
37
- $upload
38
- $dropdown
39
- $modal
40
- E2
41
- E2Snippets
42
- E2Actions
43
- E2ActionsX
44
- $e2Scaffold
45
- $e2Modal
46
- localStorageServiceProvider
47
- localStorageService
48
- $dateParser
49
- $dateFormatter
50
- $filter
51
- e2HttpInterceptor
52
- |}
53
- ).compile(out)
54
- open("#{PUBLIC}/js/#{cf}.js", "w") << out
55
- end
56
- end
57
-
58
1
  desc "Compile SLIM"
59
2
  task :compile_slim do
60
3
  require 'slim'
@@ -67,7 +10,7 @@ task :compile_slim do
67
10
  end
68
11
  end
69
12
 
70
- open("#{PUBLIC}/js/engine2templates.js", "wb") << <<-EOF
13
+ open("app/engine2templates.js", "wb") << <<-EOF
71
14
  angular.module('Engine2').run(['$templateCache', function($templateCache) {
72
15
  #{slims.join("\n")}
73
16
  }]);
@@ -75,64 +18,7 @@ EOF
75
18
  end
76
19
 
77
20
  desc "Compile"
78
- task :compile => [:compile_js, :compile_slim] do
79
- end
80
-
81
- desc "Clean"
82
- task :clean do
83
- (COFFEE_FILES + ["engine2templates"]).each do |js|
84
- File.delete "#{PUBLIC}/js/#{js}.js"
85
- end
86
- end
87
-
88
- desc "Assets Js"
89
- task :assets_js do
90
- require 'uglifier'
91
- # jquery-builder.cmd -m -v 2.0.3 -e ajax,deprecated,effects,offset > jquery-custom.min.js
92
- # lodash category=array,collection,object,seq,lang plus=template
93
-
94
- js_files = %w[
95
- ng-file-upload-shim.min.js
96
- angular.js
97
- i18n/angular-locale_pl.js
98
- angular-route.js
99
- angular-sanitize.js
100
- angular-animate.js
101
- angular-cookies.js
102
- angular-strap.js
103
- angular-strap.tpl.js
104
- ng-file-upload.min.js
105
- angular-ui-tree.js
106
- angular-local-storage.js
107
- lodash.custom.min.js
108
- ]
109
-
110
- out = js_files.map{|js| open("#{PUBLIC}/js/#{js}", "r:UTF-8").read}.join("")
111
-
112
- out = Uglifier.new(output: {comments: :none}, mangle: true).compile(out)
113
-
114
- open("#{PUBLIC}/assets/javascripts.js", "wb") << out
115
- end
116
-
117
- desc "Assets Css"
118
- task :assets_css do
119
- require 'yui/compressor'
120
-
121
- css_files = %w[
122
- bootstrap-additions.css
123
- angular-motion.css
124
- angular-ui-tree.min.css
125
- font-awesome.min.css
126
- ]
127
-
128
- out = css_files.map{|css|open("#{PUBLIC}/css/#{css}", "r:UTF-8").read}.join("")
129
-
130
- out = YUI::CssCompressor.new(java: "#{ENV['JAVA_HOME']}/bin/java").compress(out)
131
- open("#{PUBLIC}/assets/styles.css", "wb") << out
132
-
21
+ task :compile => [:compile_slim] do
133
22
  end
134
23
 
135
- desc "Assets"
136
- task :assets => [:assets_js, :assets_css] do
137
- # File.delete *Dir["#{Dir.pwd}/public/assets/*"]
138
- end
24
+ task :default => [:compile]
File without changes
@@ -1,196 +1,203 @@
1
- @media screen and (min-width: 1200px) {
2
- .modal-large .modal-dialog {
3
- width: 900px;
4
- }
5
-
6
- .modal-huge .modal-dialog {
7
- width: 1180px;
8
- }
9
- }
10
-
11
- @media screen and (min-width: 900px) {
12
-
13
- .modal-medium .modal-dialog {
14
- width: 800px;
15
- }
16
-
17
-
18
- .modal-form .modal-dialog {
19
- width: 860px;
20
- }
21
-
22
- /* .modal-large .modal-dialog {
23
- width: 840px;
24
- }
25
- */
26
- }
27
-
28
- .modal-form .modal-dialog {
29
- /* width: 40%;*/
30
- }
31
-
32
- .modal-small .modal-dialog {
33
- /* width: 30%; */
34
- }
35
-
36
- .modal-large .modal-dialog {
37
- /* width: 60%;*/
38
- }
39
-
40
- .modal-huge .modal-dialog {
41
- /* width: 80%;*/
42
- }
43
-
44
- .loader {
45
- visibility: hidden;
46
- }
47
-
48
- tr.tr_hover {
49
- cursor: pointer;
50
- cursor: hand;
51
- }
52
-
53
- .control-label {
54
- font-weight:normal;
55
- }
56
-
57
- /*.modal-backdrop{
58
- position:fixed;
59
- top:0;
60
- right:0;
61
- bottom:0;
62
- left:0;
63
- background-color:#000000;
64
- }*/
65
-
66
- /*.btn-group{
67
- white-space:nowrap;
68
- }
69
-
70
- button {
71
- white-space:normal;
72
- }
73
- */
74
-
75
- /*.modal-backdrop {
76
- from strap docs
77
- z-index: 1040;
78
- bottom: 0px;
79
- }
80
- */
81
-
82
- /*.modal-backdrop{
83
- bottom:0;
84
- }
85
- */
86
- /*.modal-backdrop.fade.in {
87
- opacity: .7
88
- }
89
- */
90
- .popover {
91
- max-width: 600px;
92
- }
93
-
94
- /*.btn-group ul.dropdown-menu li a {
95
- text-decoration: none;
96
- }
97
- */
98
-
99
- /*
100
-
101
- /* tab animations */
102
- /*.tab-pane.am-fade {
103
- -webkit-animation-duration: .6s;
104
- animation-duration: .6s;
105
- -webkit-animation-timing-function: ease;
106
- animation-timing-function: ease;
107
- -webkit-animation-fill-mode: backwards;
108
- animation-fill-mode: backwards;
109
- opacity: 1;
110
- }
111
- .tab-pane.am-fade.active-remove {
112
- display: none!important;
113
- }
114
- .tab-pane.am-fade.active-add {
115
- -webkit-animation-name: fadeIn;
116
- animation-name: fadeIn;
117
- }*/
118
-
119
- /* nested nav bar */
120
- .dropdown-submenu{
121
- position:relative;
122
- }
123
-
124
- .dropdown-submenu > .dropdown-menu
125
- {
126
- top:0;
127
- left:100%;
128
- margin-top:-6px;
129
- margin-left:-1px;
130
- -webkit-border-radius:0 6px 6px 6px;
131
- -moz-border-radius:0 6px 6px 6px;
132
- border-radius:0 6px 6px 6px;
133
- }
134
-
135
- .dropdown-submenu:hover > .dropdown-menu{
136
- display:block;
137
- }
138
-
139
- .dropdown-submenu > a:after{
140
- display:block;
141
- content:" ";
142
- float:right;
143
- width:0;
144
- height:0;
145
- border-color:transparent;
146
- border-style:solid;
147
- border-width:5px 0 5px 5px;
148
- border-left-color:#cccccc;
149
- margin-top:5px;
150
- margin-right:-10px;
151
- }
152
-
153
- .dropdown-submenu:hover > a:after{
154
- border-left-color:#ffffff;
155
- }
156
-
157
- .dropdown-submenu .pull-left{
158
- float:none;
159
- }
160
-
161
- .dropdown-submenu.pull-left > .dropdown-menu{
162
- left:-100%;
163
- margin-left:10px;
164
- -webkit-border-radius:6px 0 6px 6px;
165
- -moz-border-radius:6px 0 6px 6px;
166
- border-radius:6px 0 6px 6px;
167
- }
168
-
169
- /* date/time pickers */
170
- /*.datepicker.dropdown-menu {
171
- width:250px;
172
- height:270px;
173
- }
174
-
175
- .datepicker.dropdown-menu tbody {
176
- height:180px;
177
- }
178
-
179
- .datepicker.dropdown-menu.datepicker-mode-1 tbody button,.datepicker.dropdown-menu.datepicker-mode-2 tbody button {
180
- height:65px;
181
- }
182
-
183
- .datepicker.dropdown-menu button,.timepicker.dropdown-menu button {
184
- outline:0;
185
- border:0;
186
- }
187
-
188
- .datepicker.dropdown-menu tbody button,.timepicker.dropdown-menu tbody button {
189
- padding:6px;
190
- }
191
-
192
- .timepicker.dropdown-menu {
193
- padding:0 4px;
194
- }*/
195
-
196
- a[ng-click] {cursor:pointer;}
1
+ @media screen and (min-height: 1200px) {
2
+ .modal .modal-body {
3
+ max-height: 1000px;
4
+ overflow-y: auto;
5
+ }
6
+ }
7
+
8
+ @media screen and (min-width: 1200px) {
9
+ .modal-large .modal-dialog {
10
+ width: 900px;
11
+ }
12
+
13
+ .modal-huge .modal-dialog {
14
+ width: 1180px;
15
+ }
16
+ }
17
+
18
+ @media screen and (min-width: 900px) {
19
+
20
+ .modal-medium .modal-dialog {
21
+ width: 800px;
22
+ }
23
+
24
+
25
+ .modal-form .modal-dialog {
26
+ width: 860px;
27
+ }
28
+
29
+ /* .modal-large .modal-dialog {
30
+ width: 840px;
31
+ }
32
+ */
33
+ }
34
+
35
+ .modal-form .modal-dialog {
36
+ /* width: 40%;*/
37
+ }
38
+
39
+ .modal-small .modal-dialog {
40
+ /* width: 30%; */
41
+ }
42
+
43
+ .modal-large .modal-dialog {
44
+ /* width: 60%;*/
45
+ }
46
+
47
+ .modal-huge .modal-dialog {
48
+ /* width: 80%;*/
49
+ }
50
+
51
+ .loader {
52
+ visibility: hidden;
53
+ }
54
+
55
+ tr.tr_hover {
56
+ cursor: pointer;
57
+ cursor: hand;
58
+ }
59
+
60
+ .control-label {
61
+ font-weight:normal;
62
+ }
63
+
64
+ /*.modal-backdrop{
65
+ position:fixed;
66
+ top:0;
67
+ right:0;
68
+ bottom:0;
69
+ left:0;
70
+ background-color:#000000;
71
+ }*/
72
+
73
+ /*.btn-group{
74
+ white-space:nowrap;
75
+ }
76
+
77
+ button {
78
+ white-space:normal;
79
+ }
80
+ */
81
+
82
+ /*.modal-backdrop {
83
+ from strap docs
84
+ z-index: 1040;
85
+ bottom: 0px;
86
+ }
87
+ */
88
+
89
+ /*.modal-backdrop{
90
+ bottom:0;
91
+ }
92
+ */
93
+ /*.modal-backdrop.fade.in {
94
+ opacity: .7
95
+ }
96
+ */
97
+ .popover {
98
+ max-width: 600px;
99
+ }
100
+
101
+ /*.btn-group ul.dropdown-menu li a {
102
+ text-decoration: none;
103
+ }
104
+ */
105
+
106
+ /*
107
+
108
+ /* tab animations */
109
+ /*.tab-pane.am-fade {
110
+ -webkit-animation-duration: .6s;
111
+ animation-duration: .6s;
112
+ -webkit-animation-timing-function: ease;
113
+ animation-timing-function: ease;
114
+ -webkit-animation-fill-mode: backwards;
115
+ animation-fill-mode: backwards;
116
+ opacity: 1;
117
+ }
118
+ .tab-pane.am-fade.active-remove {
119
+ display: none!important;
120
+ }
121
+ .tab-pane.am-fade.active-add {
122
+ -webkit-animation-name: fadeIn;
123
+ animation-name: fadeIn;
124
+ }*/
125
+
126
+ /* nested nav bar */
127
+ .dropdown-submenu{
128
+ position:relative;
129
+ }
130
+
131
+ .dropdown-submenu > .dropdown-menu
132
+ {
133
+ top:0;
134
+ left:100%;
135
+ margin-top:-6px;
136
+ margin-left:-1px;
137
+ -webkit-border-radius:0 6px 6px 6px;
138
+ -moz-border-radius:0 6px 6px 6px;
139
+ border-radius:0 6px 6px 6px;
140
+ }
141
+
142
+ .dropdown-submenu:hover > .dropdown-menu{
143
+ display:block;
144
+ }
145
+
146
+ .dropdown-submenu > a:after{
147
+ display:block;
148
+ content:" ";
149
+ float:right;
150
+ width:0;
151
+ height:0;
152
+ border-color:transparent;
153
+ border-style:solid;
154
+ border-width:5px 0 5px 5px;
155
+ border-left-color:#cccccc;
156
+ margin-top:5px;
157
+ margin-right:-10px;
158
+ }
159
+
160
+ .dropdown-submenu:hover > a:after{
161
+ border-left-color:#ffffff;
162
+ }
163
+
164
+ .dropdown-submenu .pull-left{
165
+ float:none;
166
+ }
167
+
168
+ .dropdown-submenu.pull-left > .dropdown-menu{
169
+ left:-100%;
170
+ margin-left:10px;
171
+ -webkit-border-radius:6px 0 6px 6px;
172
+ -moz-border-radius:6px 0 6px 6px;
173
+ border-radius:6px 0 6px 6px;
174
+ }
175
+
176
+ /* date/time pickers */
177
+ /*.datepicker.dropdown-menu {
178
+ width:250px;
179
+ height:270px;
180
+ }
181
+
182
+ .datepicker.dropdown-menu tbody {
183
+ height:180px;
184
+ }
185
+
186
+ .datepicker.dropdown-menu.datepicker-mode-1 tbody button,.datepicker.dropdown-menu.datepicker-mode-2 tbody button {
187
+ height:65px;
188
+ }
189
+
190
+ .datepicker.dropdown-menu button,.timepicker.dropdown-menu button {
191
+ outline:0;
192
+ border:0;
193
+ }
194
+
195
+ .datepicker.dropdown-menu tbody button,.timepicker.dropdown-menu tbody button {
196
+ padding:6px;
197
+ }
198
+
199
+ .timepicker.dropdown-menu {
200
+ padding:0 4px;
201
+ }*/
202
+
203
+ a[ng-click] {cursor:pointer;}