engine2 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +2 -0
  3. data/Rakefile +138 -0
  4. data/conf/message.yaml +93 -0
  5. data/conf/message_pl.yaml +93 -0
  6. data/engine2.gemspec +34 -0
  7. data/lib/engine2.rb +34 -0
  8. data/lib/engine2/action.rb +217 -0
  9. data/lib/engine2/core.rb +572 -0
  10. data/lib/engine2/handler.rb +134 -0
  11. data/lib/engine2/meta.rb +969 -0
  12. data/lib/engine2/meta/decode_meta.rb +110 -0
  13. data/lib/engine2/meta/delete_meta.rb +73 -0
  14. data/lib/engine2/meta/form_meta.rb +144 -0
  15. data/lib/engine2/meta/infra_meta.rb +292 -0
  16. data/lib/engine2/meta/link_meta.rb +133 -0
  17. data/lib/engine2/meta/list_meta.rb +284 -0
  18. data/lib/engine2/meta/save_meta.rb +63 -0
  19. data/lib/engine2/meta/view_meta.rb +22 -0
  20. data/lib/engine2/model.rb +390 -0
  21. data/lib/engine2/models/Files.rb +38 -0
  22. data/lib/engine2/models/UserInfo.rb +24 -0
  23. data/lib/engine2/post_bootstrap.rb +83 -0
  24. data/lib/engine2/pre_bootstrap.rb +27 -0
  25. data/lib/engine2/scheme.rb +202 -0
  26. data/lib/engine2/templates.rb +229 -0
  27. data/lib/engine2/type_info.rb +342 -0
  28. data/lib/engine2/version.rb +9 -0
  29. data/public/assets/javascripts.js +13 -0
  30. data/public/assets/styles.css +4 -0
  31. data/public/css/angular-motion.css +1022 -0
  32. data/public/css/angular-ui-tree.min.css +1 -0
  33. data/public/css/app.css +196 -0
  34. data/public/css/bootstrap-additions.css +1560 -0
  35. data/public/css/bootstrap.min.css +11 -0
  36. data/public/css/font-awesome.min.css +4 -0
  37. data/public/favicon.ico +0 -0
  38. data/public/fonts/FontAwesome.otf +0 -0
  39. data/public/fonts/fontawesome-webfont.eot +0 -0
  40. data/public/fonts/fontawesome-webfont.svg +655 -0
  41. data/public/fonts/fontawesome-webfont.ttf +0 -0
  42. data/public/fonts/fontawesome-webfont.woff +0 -0
  43. data/public/fonts/fontawesome-webfont.woff2 +0 -0
  44. data/public/fonts/glyphicons-halflings-regular.eot +0 -0
  45. data/public/fonts/glyphicons-halflings-regular.svg +288 -0
  46. data/public/fonts/glyphicons-halflings-regular.ttf +0 -0
  47. data/public/fonts/glyphicons-halflings-regular.woff +0 -0
  48. data/public/fonts/glyphicons-halflings-regular.woff2 +0 -0
  49. data/public/images/file.png +0 -0
  50. data/public/images/folder-closed.png +0 -0
  51. data/public/images/folder.png +0 -0
  52. data/public/images/node-closed-2.png +0 -0
  53. data/public/images/node-closed-light.png +0 -0
  54. data/public/images/node-closed.png +0 -0
  55. data/public/images/node-opened-2.png +0 -0
  56. data/public/images/node-opened-light.png +0 -0
  57. data/public/images/node-opened.png +0 -0
  58. data/public/img/ajax-loader-dark.gif +0 -0
  59. data/public/img/ajax-loader-light.gif +0 -0
  60. data/public/img/ajax-loader.gif +0 -0
  61. data/public/js/angular-animate.js +4115 -0
  62. data/public/js/angular-cookies.js +322 -0
  63. data/public/js/angular-local-storage.js +455 -0
  64. data/public/js/angular-route.js +1022 -0
  65. data/public/js/angular-sanitize.js +717 -0
  66. data/public/js/angular-strap.js +4339 -0
  67. data/public/js/angular-strap.tpl.js +43 -0
  68. data/public/js/angular-ui-tree.js +1569 -0
  69. data/public/js/angular.js +30714 -0
  70. data/public/js/i18n/angular-locale_pl.js +115 -0
  71. data/public/js/lodash.custom.min.js +97 -0
  72. data/public/js/ng-file-upload-shim.min.js +2 -0
  73. data/public/js/ng-file-upload.min.js +3 -0
  74. data/views/app.coffee +3 -0
  75. data/views/engine2.coffee +557 -0
  76. data/views/engine2actions.coffee +849 -0
  77. data/views/engine2templates.coffee +0 -0
  78. data/views/fields/blob.slim +22 -0
  79. data/views/fields/bs_select.slim +10 -0
  80. data/views/fields/bsselect_picker.slim +18 -0
  81. data/views/fields/bsselect_picker_opt.slim +22 -0
  82. data/views/fields/checkbox.slim +11 -0
  83. data/views/fields/checkbox_buttons.slim +6 -0
  84. data/views/fields/checkbox_buttons_opt.slim +8 -0
  85. data/views/fields/currency.slim +10 -0
  86. data/views/fields/date.slim +21 -0
  87. data/views/fields/date_range.slim +44 -0
  88. data/views/fields/date_time.slim +42 -0
  89. data/views/fields/datetime.slim +42 -0
  90. data/views/fields/decimal.slim +11 -0
  91. data/views/fields/decimal_date.slim +22 -0
  92. data/views/fields/decimal_time.slim +26 -0
  93. data/views/fields/email.slim +13 -0
  94. data/views/fields/file_store.slim +61 -0
  95. data/views/fields/input_text.slim +14 -0
  96. data/views/fields/integer.slim +11 -0
  97. data/views/fields/list_bsselect.slim +18 -0
  98. data/views/fields/list_bsselect_opt.slim +21 -0
  99. data/views/fields/list_buttons.slim +3 -0
  100. data/views/fields/list_buttons_opt.slim +5 -0
  101. data/views/fields/list_select.slim +11 -0
  102. data/views/fields/list_select_opt.slim +15 -0
  103. data/views/fields/password.slim +14 -0
  104. data/views/fields/radio_checkbox.slim +10 -0
  105. data/views/fields/scaffold.slim +2 -0
  106. data/views/fields/scaffold_picker.slim +20 -0
  107. data/views/fields/select_picker.slim +12 -0
  108. data/views/fields/select_picker_opt.slim +16 -0
  109. data/views/fields/text_area.slim +10 -0
  110. data/views/fields/time.slim +22 -0
  111. data/views/fields/typeahead_picker.slim +25 -0
  112. data/views/index.slim +44 -0
  113. data/views/infra/index.slim +5 -0
  114. data/views/infra/inspect.slim +81 -0
  115. data/views/modals/close_m.slim +15 -0
  116. data/views/modals/confirm_m.slim +19 -0
  117. data/views/modals/empty_m.slim +12 -0
  118. data/views/modals/menu_m.slim +13 -0
  119. data/views/modals/yes_no_m.slim +19 -0
  120. data/views/panels/menu_m.slim +9 -0
  121. data/views/scaffold/confirm.slim +3 -0
  122. data/views/scaffold/fields.slim +10 -0
  123. data/views/scaffold/form.slim +11 -0
  124. data/views/scaffold/list.slim +42 -0
  125. data/views/scaffold/message.slim +3 -0
  126. data/views/scaffold/search.slim +20 -0
  127. data/views/scaffold/view.slim +18 -0
  128. data/views/search_fields/bsmselect_picker.slim +25 -0
  129. data/views/search_fields/bsselect_picker.slim +24 -0
  130. data/views/search_fields/checkbox.slim +11 -0
  131. data/views/search_fields/checkbox2.slim +14 -0
  132. data/views/search_fields/checkbox_buttons.slim +10 -0
  133. data/views/search_fields/date_range.slim +46 -0
  134. data/views/search_fields/decimal_date_range.slim +47 -0
  135. data/views/search_fields/input_text.slim +18 -0
  136. data/views/search_fields/integer.slim +18 -0
  137. data/views/search_fields/integer_range.slim +27 -0
  138. data/views/search_fields/list_bsmselect.slim +24 -0
  139. data/views/search_fields/list_bsselect.slim +22 -0
  140. data/views/search_fields/list_buttons.slim +8 -0
  141. data/views/search_fields/list_select.slim +17 -0
  142. data/views/search_fields/scaffold_picker.slim +19 -0
  143. data/views/search_fields/select_picker.slim +17 -0
  144. data/views/search_fields/typeahead_picker.slim +25 -0
  145. metadata +327 -0
File without changes
@@ -0,0 +1,22 @@
1
+ e2-action action="[f + '_blob_store!']"
2
+ .col-lg-11
3
+ div ng-init="info = action.meta.info[f]"
4
+ input [
5
+ type="hidden"
6
+ ng-model="action.record[f]"
7
+ ]
8
+
9
+ div
10
+ .progress.progress-striped
11
+ .progress-bar.progress-bar-success ng-style="{'width': action.progress + '%'}"
12
+
13
+ div
14
+ input [
15
+ type="file"
16
+ ng-disabled="info.disabled"
17
+ ng-file-select="action.select($files)"
18
+ ]
19
+
20
+ div ng-if="action.blob_length"
21
+ a ng-href="{{action.action_info().action_resource}}/download?id={{action.record_id}}"
22
+ | {{action.file_name}}
@@ -0,0 +1,10 @@
1
+ .col-lg-7.col-md-12.col-sm-12
2
+ select [
3
+ ng-model="action.record[f]"
4
+ bs-options="v.id as v.value for v in values"
5
+ select-resource="action.meta.info[f].render.resource"
6
+ bs-select=""
7
+ ng-disabled="action.meta.info[f].disabled"
8
+ class="form-control input-sm"
9
+ e2-field=""
10
+ ]
@@ -0,0 +1,18 @@
1
+ e2-action action="[action.meta.info[f].assoc, 'list']"
2
+ .col-lg-7.col-md-8.col-sm-12
3
+ button.btn.btn-default.btn-sm [
4
+ type="button"
5
+ ng-init="info = action.meta.info[f]"
6
+ ng-model="action.selected"
7
+ bs-options="v.id as v.value for v in action.values"
8
+ ng-change="action.change()"
9
+ ng-disabled="info.disabled"
10
+ ng-class="info.render.class"
11
+ class="form-control input-sm"
12
+
13
+ data-animation="{{::info.render.animation}}"
14
+ data-placeholder="..."
15
+ data-html="true"
16
+ bs-select=""
17
+ e2-field=""
18
+ ]
@@ -0,0 +1,22 @@
1
+ e2-action action="[action.meta.info[f].assoc, 'list']"
2
+ .col-lg-7.col-md-12.col-sm-12
3
+ .input-group.input-group-sm
4
+ button.btn.btn-default.btn-sm [
5
+ type="button"
6
+ ng-init="info = action.meta.info[f]"
7
+ ng-model="action.selected"
8
+ bs-options="v.id as v.value for v in action.values"
9
+ ng-change="action.change()"
10
+ ng-disabled="info.disabled"
11
+ ng-class="info.render.class"
12
+ class="form-control"
13
+
14
+ data-animation="{{::info.render.animation}}"
15
+ data-placeholder="..."
16
+ data-html="true"
17
+ bs-select=""
18
+ e2-field=""
19
+ ]
20
+ .input-group-btn
21
+ a.btn.btn-default ng-disabled="info.disabled || !action.selected" ng-click="action.reset()"
22
+ span.glyphicon.glyphicon-remove
@@ -0,0 +1,11 @@
1
+ .col-lg-1
2
+ .checkbox
3
+ input [
4
+ ng-init="info = action.meta.info[f]; action.record[f] = action.record[f] || info.render.false_value"
5
+ type="checkbox"
6
+ ng-model="action.record[f]"
7
+ ng-true-value="{{::info.render.true_value}}"
8
+ ng-false-value="{{::info.render.false_value}}"
9
+ ng-disabled="info.disabled"
10
+ e2-field=""
11
+ ]
@@ -0,0 +1,6 @@
1
+ .col-lg-12
2
+ .btn-group.btn-group-sm ng-init="info = action.meta.info[f]; (action.record[f] === undefined) && (action.record[f] = info.render.false_value)" ng-model="action.record[f]" e2-field=""
3
+ a.btn.btn-default ng-class="action.record[f] === info.render.true_value && 'active'" ng-click="action.record[f] = info.render.true_value" ng-disabled="info.disabled"
4
+ span.glyphicon.glyphicon-check
5
+ a.btn.btn-default ng-class="action.record[f] === info.render.false_value && 'active'" ng-click="action.record[f] = info.render.false_value" ng-disabled="info.disabled"
6
+ span.glyphicon.glyphicon-unchecked
@@ -0,0 +1,8 @@
1
+ .col-lg-12
2
+ .btn-group.btn-group-sm ng-init="info = action.meta.info[f]" ng-model="action.record[f]" e2-field=""
3
+ a.btn.btn-default ng-class="action.record[f] === info.render.true_value && 'active'" ng-click="action.record[f] = info.render.true_value" ng-disabled="info.disabled"
4
+ span.glyphicon.glyphicon-check
5
+ a.btn.btn-default ng-class="action.record[f] === info.render.false_value && 'active'" ng-click="action.record[f] = info.render.false_value" ng-disabled="info.disabled"
6
+ span.glyphicon.glyphicon-unchecked
7
+ a.btn.btn-default ng-class="(action.record[f] === null || action.record[f] === undefined) && 'active'" ng-click="action.record[f] = null" ng-disabled="info.disabled"
8
+ span.glyphicon.glyphicon-off
@@ -0,0 +1,10 @@
1
+ .col-lg-3.col-md-4.col-sm-4
2
+ .input-group.input-group-sm
3
+ input [
4
+ type="text"
5
+ ng-model="action.record[f]"
6
+ class="form-control"
7
+ ng-disabled="action.meta.info[f].disabled"
8
+ e2-field=""
9
+ ]
10
+ span.input-group-addon zł
@@ -0,0 +1,21 @@
1
+ .col-lg-3.col-md-3.col-sm-5
2
+ .input-group.input-group-sm
3
+ input.btn.btn-default [
4
+ ng-init="info = action.meta.info[f]"
5
+ type="text"
6
+ class="form-control"
7
+ ng-model="value"
8
+ ng-disabled="info.disabled"
9
+
10
+ data-date-format="{{::info.render.format}}"
11
+ data-animation="{{::info.render.animation}}"
12
+ bs-datepicker=""
13
+ e2-datepicker=""
14
+ e2-model-format="{{::info.render.model_format}}"
15
+ data-autoclose="1"
16
+
17
+ e2-force-view-value=""
18
+ e2-field=""
19
+ ]
20
+ .input-group-btn data-toggle="datepicker"
21
+ a.btn.btn-default: span.glyphicon.glyphicon-calendar
@@ -0,0 +1,44 @@
1
+ .span ng-init="value = value || {}"
2
+ .col-lg-3.col-md-3.col-sm-5
3
+ .input-group.input-group-sm
4
+ input.btn.btn-default [
5
+ ng-init="info = action.meta.info[f]"
6
+ type="text"
7
+ class="form-control"
8
+ ng-model="value.from"
9
+ ng-disabled="info.disabled"
10
+
11
+ data-date-format="{{::info.render.format}}"
12
+ data-max-date="{{value.to}}"
13
+ data-animation="{{::info.render.animation}}"
14
+ bs-datepicker=""
15
+ e2-datepicker="from"
16
+ e2-model-format="{{::info.render.model_format}}"
17
+ data-autoclose="1"
18
+
19
+ e2-field=""
20
+ ]
21
+ .input-group-btn data-toggle="datepicker"
22
+ a.btn.btn-default: span.glyphicon.glyphicon-calendar
23
+
24
+ .col-lg-3.col-md-3.col-sm-5
25
+ .input-group.input-group-sm
26
+ input.btn.btn-default [
27
+ ng-init="other_date = action.meta.info[f].render.other_date; info = action.meta.info[other_date]"
28
+ type="text"
29
+ class="form-control"
30
+ ng-model="value.to"
31
+ ng-disabled="info.disabled"
32
+
33
+ data-date-format="{{::info.render.format}}"
34
+ data-min-date="{{value.from}}"
35
+ data-animation="{{::info.render.animation}}"
36
+ bs-datepicker=""
37
+ e2-datepicker="to"
38
+ e2-model-format="{{::info.render.model_format}}"
39
+ data-autoclose="1"
40
+
41
+ e2-field="{{other_date}}"
42
+ ]
43
+ .input-group-btn data-toggle="datepicker"
44
+ a.btn.btn-default: span.glyphicon.glyphicon-calendar
@@ -0,0 +1,42 @@
1
+ .span
2
+ .col-lg-3.col-md-3.col-sm-5
3
+ .input-group.input-group-sm
4
+ input.btn.btn-default [
5
+ ng-init="info = action.meta.info[f]"
6
+ type="text"
7
+ class="form-control"
8
+ ng-model="value"
9
+ ng-disabled="info.disabled"
10
+
11
+ data-date-format="{{::info.render.format}}"
12
+ data-animation="{{::info.render.animation}}"
13
+ bs-datepicker=""
14
+ e2-datepicker=""
15
+ e2-model-format="{{::info.render.model_format}}"
16
+ data-autoclose="1"
17
+
18
+ e2-field=""
19
+ ]
20
+ .input-group-btn data-toggle="datepicker"
21
+ a.btn.btn-default: span.glyphicon.glyphicon-calendar
22
+
23
+ .col-lg-3.col-md-3.col-sm-5
24
+ .input-group.input-group-sm
25
+ input.btn.btn-default [
26
+ ng-init="other_time = action.meta.info[f].render.other_time; info = action.meta.info[other_time]"
27
+ type="text"
28
+ class="form-control"
29
+ ng-model="value"
30
+ ng-disabled="info.disabled"
31
+
32
+ data-time-format="{{::info.render.format}}"
33
+ data-animation="{{::info.render.animation}}"
34
+ bs-timepicker=""
35
+ e2-datepicker=""
36
+ e2-model-format="{{::info.render.model_format}}"
37
+ data-autoclose="1"
38
+
39
+ e2-field="{{other_time}}"
40
+ ]
41
+ .input-group-btn data-toggle="datepicker"
42
+ a.btn.btn-default: span.glyphicon.glyphicon-time
@@ -0,0 +1,42 @@
1
+ .span ng-init="value = value || {}"
2
+ .col-lg-3.col-md-3.col-sm-5
3
+ .input-group.input-group-sm
4
+ input.btn.btn-default [
5
+ ng-init="info = action.meta.info[f]"
6
+ type="text"
7
+ class="form-control"
8
+ ng-model="value.value"
9
+ ng-disabled="info.disabled"
10
+
11
+ data-date-format="{{::info.render.date_format}}"
12
+ data-animation="{{::info.render.animation}}"
13
+ bs-datepicker=""
14
+ e2-datepicker="value"
15
+ e2-model-format="{{:: (info.render.date_model_format + ' ' + info.render.time_model_format)}}"
16
+ data-autoclose="1"
17
+
18
+ e2-force-view-value=""
19
+ e2-field=""
20
+ ]
21
+ .input-group-btn
22
+ a.btn.btn-default: span.glyphicon.glyphicon-calendar data-toggle="datepicker"
23
+ .col-lg-3.col-md-3.col-sm-5
24
+ .input-group.input-group-sm
25
+ input.btn.btn-default [
26
+ ng-init="info = action.meta.info[f]"
27
+ type="text"
28
+ class="form-control"
29
+ ng-model="value.value"
30
+ ng-disabled="info.disabled"
31
+
32
+ data-time-format="{{::info.render.time_format}}"
33
+ data-animation="{{::info.render.animation}}"
34
+ bs-timepicker=""
35
+ e2-datepicker="value"
36
+ e2-model-format="{{:: (info.render.date_model_format + ' ' + info.render.time_model_format)}}"
37
+ data-autoclose="1"
38
+
39
+ e2-force-view-value=""
40
+ ]
41
+ .input-group-btn
42
+ a.btn.btn-default: span.glyphicon.glyphicon-time data-toggle="datepicker"
@@ -0,0 +1,11 @@
1
+ .col-lg-4.col-md-5.col-sm-5
2
+ .input-group.input-group-sm
3
+ input [
4
+ ng-init="info = action.meta.info[f]"
5
+ type="text"
6
+ ng-model="action.record[f]"
7
+ ng-disabled="info.disabled"
8
+ class="form-control"
9
+ e2-field=""
10
+ ]
11
+ span.input-group-addon: span.glyphicon.glyphicon-plus
@@ -0,0 +1,22 @@
1
+ .col-lg-3.col-md-3.col-sm-5
2
+ .input-group.input-group-sm
3
+ input [
4
+ ng-init="info = action.meta.info[f]"
5
+ xe2-decimal-date-picker=""
6
+ type="text"
7
+ class="form-control"
8
+ xng-model="value"
9
+ ng-model="action.record[f]"
10
+ ng-disabled="info.disabled"
11
+
12
+ bs-datepicker=""
13
+ data-animation="{{::info.render.animation}}"
14
+ data-date-format="{{::info.render.format}}"
15
+ data-model-date-format="yyyyMMdd"
16
+ data-autoclose="1"
17
+ data-date-type="string"
18
+
19
+ e2-field=""
20
+ ]
21
+ .input-group-btn data-toggle="datepicker"
22
+ a.btn.btn-default: span.glyphicon.glyphicon-calendar
@@ -0,0 +1,26 @@
1
+ .col-lg-3.col-md-3.col-sm-5
2
+ .input-group.input-group-sm
3
+ input [
4
+ ng-init="info = action.meta.info[f]"
5
+ xe2-decimal-time-picker="" mode="record"
6
+ type="text"
7
+ class="form-control"
8
+ xng-model="value"
9
+ ng-model="action.record[f]"
10
+ ng-disabled="info.disabled"
11
+
12
+ bs-timepicker=""
13
+ data-animation="{{::info.render.animation}}"
14
+ data-time-format="{{::info.render.format}}"
15
+ data-model-date-format="HHmmss"
16
+ data-show-meridian="false"
17
+ data-show-seconds="true"
18
+ data-minute-step="1"
19
+ data-second-step="1"
20
+ data-autoclose="1"
21
+ data-time-type="string"
22
+
23
+ e2-field=""
24
+ ]
25
+ .input-group-btn data-toggle="datepicker"
26
+ a.btn.btn-default: span.glyphicon.glyphicon-time
@@ -0,0 +1,13 @@
1
+ /.col-lg-8.col-md-10.col-sm-12
2
+ div e2-input-cols="{{action.meta.info[f].render.length}}"
3
+ .input-group.input-group-sm
4
+ input [
5
+ ng-init="info = action.meta.info[f]"
6
+ type="text"
7
+ ng-model="action.record[f]"
8
+ maxlength="{{info.render.length}}"
9
+ class="form-control"
10
+ ng-disabled="info.disabled"
11
+ e2-field=""
12
+ ]
13
+ span.input-group-addon @
@@ -0,0 +1,61 @@
1
+ e2-action action="[f + '_file_store!']"
2
+ .col-lg-11
3
+ table.table.table-striped.table-condensed.table-hover
4
+ thead
5
+ tr
6
+ th>
7
+ th Nazwa
8
+ th Data
9
+ tbody
10
+ tr ng-repeat="f in action.files" ng-hide="f.deleted"
11
+ td
12
+ .btn-group.btn-group-xs
13
+ a.btn.btn-default ng-click="action.show_file(f)": span.glyphicon.glyphicon-file
14
+ a.btn.btn-default ng-click="action.delete_file(f)": span.glyphicon.glyphicon-trash
15
+ td
16
+ div ng-if="f.id": a ng-href="{{action.action_info().action_resource}}/download?id={{f.id}}" ng-bind="f.name"
17
+ div ng-if="!f.id" ng-bind="f.name"
18
+
19
+ td ng-bind="f.uploaded"
20
+
21
+ div ng-init="info = action.meta.info[f]"
22
+ input [
23
+ type="hidden"
24
+ ng-model="action.record[f]"
25
+ ]
26
+
27
+ .progress.progress-striped
28
+ .progress-bar.progress-bar-success ng-style="{'width': action.progress + '%'}"
29
+
30
+ div ng-if="info.render.multiple"
31
+ input [
32
+ type="file"
33
+ ng-disabled="info.disabled"
34
+ ngf-select="action.select($files)"
35
+ ngf-multiple="true"
36
+ ]
37
+
38
+ div ng-if="!info.render.multiple"
39
+ input [
40
+ type="file"
41
+ ng-disabled="info.disabled"
42
+ ngf-select="action.select($files)"
43
+ ngf-multiple="false"
44
+ ]
45
+
46
+
47
+ e2-modal name="confirm_delete" panel-template="confirm_m" title="Usuń"
48
+ .alert.alert-warning[] Usunąć plik ?
49
+
50
+ e2-modal name="show_file" panel-template="close_m" title="Szczegóły"
51
+ table.table.table-striped.table-condensed.table-hover
52
+ tbody
53
+ tr
54
+ td Nazwa
55
+ td ng-bind="action.file.name"
56
+ tr
57
+ td Mime
58
+ td ng-bind="action.file.mime"
59
+ tr
60
+ td Data
61
+ td ng-bind="action.file.uploaded"
@@ -0,0 +1,14 @@
1
+ /.col-lg-8.col-md-9.col-sm-12
2
+ div e2-input-cols="{{::action.meta.info[f].render.length}}"
3
+ .input-group.input-group-sm
4
+ input [
5
+ ng-init="info = action.meta.info[f]"
6
+ type="text"
7
+ ng-model="action.record[f]"
8
+ maxlength="{{::info.render.length}}"
9
+ ng-disabled="info.disabled"
10
+ class="form-control input-sm"
11
+ ng-class="::info.render.class"
12
+ e2-field=""
13
+ ]
14
+ span.input-group-addon: span.glyphicon.glyphicon-pencil
@@ -0,0 +1,11 @@
1
+ .col-lg-4.col-md-5.col-sm-5
2
+ .input-group.input-group-sm
3
+ input [
4
+ type="text"
5
+ ng-model="action.record[f]"
6
+ ng-disabled="action.meta.info[f].disabled"
7
+ class="form-control"
8
+ e2-field=""
9
+ e2-integer=""
10
+ ]
11
+ span.input-group-addon: span.glyphicon.glyphicon-cog