engine2 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +2 -0
- data/Rakefile +138 -0
- data/conf/message.yaml +93 -0
- data/conf/message_pl.yaml +93 -0
- data/engine2.gemspec +34 -0
- data/lib/engine2.rb +34 -0
- data/lib/engine2/action.rb +217 -0
- data/lib/engine2/core.rb +572 -0
- data/lib/engine2/handler.rb +134 -0
- data/lib/engine2/meta.rb +969 -0
- data/lib/engine2/meta/decode_meta.rb +110 -0
- data/lib/engine2/meta/delete_meta.rb +73 -0
- data/lib/engine2/meta/form_meta.rb +144 -0
- data/lib/engine2/meta/infra_meta.rb +292 -0
- data/lib/engine2/meta/link_meta.rb +133 -0
- data/lib/engine2/meta/list_meta.rb +284 -0
- data/lib/engine2/meta/save_meta.rb +63 -0
- data/lib/engine2/meta/view_meta.rb +22 -0
- data/lib/engine2/model.rb +390 -0
- data/lib/engine2/models/Files.rb +38 -0
- data/lib/engine2/models/UserInfo.rb +24 -0
- data/lib/engine2/post_bootstrap.rb +83 -0
- data/lib/engine2/pre_bootstrap.rb +27 -0
- data/lib/engine2/scheme.rb +202 -0
- data/lib/engine2/templates.rb +229 -0
- data/lib/engine2/type_info.rb +342 -0
- data/lib/engine2/version.rb +9 -0
- data/public/assets/javascripts.js +13 -0
- data/public/assets/styles.css +4 -0
- data/public/css/angular-motion.css +1022 -0
- data/public/css/angular-ui-tree.min.css +1 -0
- data/public/css/app.css +196 -0
- data/public/css/bootstrap-additions.css +1560 -0
- data/public/css/bootstrap.min.css +11 -0
- data/public/css/font-awesome.min.css +4 -0
- data/public/favicon.ico +0 -0
- data/public/fonts/FontAwesome.otf +0 -0
- data/public/fonts/fontawesome-webfont.eot +0 -0
- data/public/fonts/fontawesome-webfont.svg +655 -0
- data/public/fonts/fontawesome-webfont.ttf +0 -0
- data/public/fonts/fontawesome-webfont.woff +0 -0
- data/public/fonts/fontawesome-webfont.woff2 +0 -0
- data/public/fonts/glyphicons-halflings-regular.eot +0 -0
- data/public/fonts/glyphicons-halflings-regular.svg +288 -0
- data/public/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/public/fonts/glyphicons-halflings-regular.woff +0 -0
- data/public/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/public/images/file.png +0 -0
- data/public/images/folder-closed.png +0 -0
- data/public/images/folder.png +0 -0
- data/public/images/node-closed-2.png +0 -0
- data/public/images/node-closed-light.png +0 -0
- data/public/images/node-closed.png +0 -0
- data/public/images/node-opened-2.png +0 -0
- data/public/images/node-opened-light.png +0 -0
- data/public/images/node-opened.png +0 -0
- data/public/img/ajax-loader-dark.gif +0 -0
- data/public/img/ajax-loader-light.gif +0 -0
- data/public/img/ajax-loader.gif +0 -0
- data/public/js/angular-animate.js +4115 -0
- data/public/js/angular-cookies.js +322 -0
- data/public/js/angular-local-storage.js +455 -0
- data/public/js/angular-route.js +1022 -0
- data/public/js/angular-sanitize.js +717 -0
- data/public/js/angular-strap.js +4339 -0
- data/public/js/angular-strap.tpl.js +43 -0
- data/public/js/angular-ui-tree.js +1569 -0
- data/public/js/angular.js +30714 -0
- data/public/js/i18n/angular-locale_pl.js +115 -0
- data/public/js/lodash.custom.min.js +97 -0
- data/public/js/ng-file-upload-shim.min.js +2 -0
- data/public/js/ng-file-upload.min.js +3 -0
- data/views/app.coffee +3 -0
- data/views/engine2.coffee +557 -0
- data/views/engine2actions.coffee +849 -0
- data/views/engine2templates.coffee +0 -0
- data/views/fields/blob.slim +22 -0
- data/views/fields/bs_select.slim +10 -0
- data/views/fields/bsselect_picker.slim +18 -0
- data/views/fields/bsselect_picker_opt.slim +22 -0
- data/views/fields/checkbox.slim +11 -0
- data/views/fields/checkbox_buttons.slim +6 -0
- data/views/fields/checkbox_buttons_opt.slim +8 -0
- data/views/fields/currency.slim +10 -0
- data/views/fields/date.slim +21 -0
- data/views/fields/date_range.slim +44 -0
- data/views/fields/date_time.slim +42 -0
- data/views/fields/datetime.slim +42 -0
- data/views/fields/decimal.slim +11 -0
- data/views/fields/decimal_date.slim +22 -0
- data/views/fields/decimal_time.slim +26 -0
- data/views/fields/email.slim +13 -0
- data/views/fields/file_store.slim +61 -0
- data/views/fields/input_text.slim +14 -0
- data/views/fields/integer.slim +11 -0
- data/views/fields/list_bsselect.slim +18 -0
- data/views/fields/list_bsselect_opt.slim +21 -0
- data/views/fields/list_buttons.slim +3 -0
- data/views/fields/list_buttons_opt.slim +5 -0
- data/views/fields/list_select.slim +11 -0
- data/views/fields/list_select_opt.slim +15 -0
- data/views/fields/password.slim +14 -0
- data/views/fields/radio_checkbox.slim +10 -0
- data/views/fields/scaffold.slim +2 -0
- data/views/fields/scaffold_picker.slim +20 -0
- data/views/fields/select_picker.slim +12 -0
- data/views/fields/select_picker_opt.slim +16 -0
- data/views/fields/text_area.slim +10 -0
- data/views/fields/time.slim +22 -0
- data/views/fields/typeahead_picker.slim +25 -0
- data/views/index.slim +44 -0
- data/views/infra/index.slim +5 -0
- data/views/infra/inspect.slim +81 -0
- data/views/modals/close_m.slim +15 -0
- data/views/modals/confirm_m.slim +19 -0
- data/views/modals/empty_m.slim +12 -0
- data/views/modals/menu_m.slim +13 -0
- data/views/modals/yes_no_m.slim +19 -0
- data/views/panels/menu_m.slim +9 -0
- data/views/scaffold/confirm.slim +3 -0
- data/views/scaffold/fields.slim +10 -0
- data/views/scaffold/form.slim +11 -0
- data/views/scaffold/list.slim +42 -0
- data/views/scaffold/message.slim +3 -0
- data/views/scaffold/search.slim +20 -0
- data/views/scaffold/view.slim +18 -0
- data/views/search_fields/bsmselect_picker.slim +25 -0
- data/views/search_fields/bsselect_picker.slim +24 -0
- data/views/search_fields/checkbox.slim +11 -0
- data/views/search_fields/checkbox2.slim +14 -0
- data/views/search_fields/checkbox_buttons.slim +10 -0
- data/views/search_fields/date_range.slim +46 -0
- data/views/search_fields/decimal_date_range.slim +47 -0
- data/views/search_fields/input_text.slim +18 -0
- data/views/search_fields/integer.slim +18 -0
- data/views/search_fields/integer_range.slim +27 -0
- data/views/search_fields/list_bsmselect.slim +24 -0
- data/views/search_fields/list_bsselect.slim +22 -0
- data/views/search_fields/list_buttons.slim +8 -0
- data/views/search_fields/list_select.slim +17 -0
- data/views/search_fields/scaffold_picker.slim +19 -0
- data/views/search_fields/select_picker.slim +17 -0
- data/views/search_fields/typeahead_picker.slim +25 -0
- metadata +327 -0
@@ -0,0 +1,10 @@
|
|
1
|
+
div
|
2
|
+
.form-group ng-class="action.errors[f] && 'has-error'" ng-repeat="f in form_field_list track by $index" ng-if="!action.meta.info[f].hidden"
|
3
|
+
label.control-label ng-class="action.meta.info[f].render.label_width || 'col-sm-3 col-md-3 col-lg-3'" for="{{f}}" ng-bind="::action.meta.info[f].loc"
|
4
|
+
.col-sm-9.col-md-9.col-lg-9
|
5
|
+
.row
|
6
|
+
e2-include template="action.meta.info[f].render.template"
|
7
|
+
.row
|
8
|
+
.col-sm-12
|
9
|
+
small.text-danger ng-repeat="e in action.errors[f] track by $index" ng-bind="e"
|
10
|
+
div ng-if="action.meta.info[f].hr": hr
|
@@ -0,0 +1,11 @@
|
|
1
|
+
form.form-horizontal role="form"
|
2
|
+
span ng-if="::!action.meta.tabs" ng-init="form_field_list = action.meta.fields"
|
3
|
+
e2-include template="action.meta.panel.field_template"
|
4
|
+
span ng-if="::action.meta.tabs"
|
5
|
+
div bs-tabs="" bs-active-pane="action.activeTab" ng-init="action.activeTab = 0"
|
6
|
+
div ng-repeat="t in ::action.meta.tabs track by $index" title="{{::t.loc}}" bs-pane=""
|
7
|
+
div ng-if="!t.lazy || $index == action.activeTab" ng-init="form_field_list = t.fields"
|
8
|
+
br
|
9
|
+
e2-include template="action.meta.panel.field_template"
|
10
|
+
|
11
|
+
span ng-if="action.alert": .alert.alert-danger[] {{action.alert}}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
div
|
2
|
+
e2-include template="action.meta.panel.search_template" ng-if="action.ui_state.search_active"
|
3
|
+
/.well.well-sm
|
4
|
+
.panel.panel-default
|
5
|
+
.panel-body
|
6
|
+
table.table.table-striped.table-condensed.table-hover
|
7
|
+
thead
|
8
|
+
tr
|
9
|
+
th
|
10
|
+
div e2-button-set="action.meta.menus.menu"
|
11
|
+
th ng-repeat="f in action.meta.fields"
|
12
|
+
a> ng-if="action.meta.info[f].sort" ng-click="action.order(f)": strong ng-bind="::action.meta.info[f].loc"
|
13
|
+
span ng-show="action.ui.order == f"
|
14
|
+
span.glyphicon.glyphicon-chevron-up ng-show="action.ui.asc"
|
15
|
+
span.glyphicon.glyphicon-chevron-down ng-show="!action.ui.asc"
|
16
|
+
span ng-if="!action.meta.info[f].sort" ng-bind="::action.meta.info[f].loc"
|
17
|
+
tbody e2-table-body=""
|
18
|
+
/ tr ng-repeat="e in action.entries track by action.id_for(e)" ng-class="action.selected_class($index)" ng-click="action.select($index, $event)"
|
19
|
+
/ td
|
20
|
+
/ div e2-button-set="item_menu" ng-if="action.meta.config.show_item_menu"
|
21
|
+
/ td ng-repeat="f in action.meta.fields track by ::f" ng-bind-html="action.list_cell(e, f)"
|
22
|
+
|
23
|
+
span
|
24
|
+
.pull-right
|
25
|
+
.badge
|
26
|
+
| Strona:
|
27
|
+
span ng-bind="action.page_info()"
|
28
|
+
|
|
29
|
+
.badge ng-if="action.selection"
|
30
|
+
| Zaznaczonych
|
31
|
+
span ng-bind="action.selected_size()"
|
32
|
+
ul.pagination
|
33
|
+
li ng-if="action.prev_active()"
|
34
|
+
a href="" ng-click="action.prev()": span.glyphicon.glyphicon-backward
|
35
|
+
li.disabled ng-if="!action.prev_active()"
|
36
|
+
a href="": span.glyphicon.glyphicon-backward
|
37
|
+
li ng-if="action.next_active()"
|
38
|
+
a href="" ng-click="action.next()": span.glyphicon.glyphicon-forward
|
39
|
+
li.disabled ng-if="!action.next_active()"
|
40
|
+
a href="": span.glyphicon.glyphicon-forward
|
41
|
+
|
42
|
+
span ng-if="action.alert": .alert.alert-danger ng-bind="action.alert"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
.panel.panel-default
|
2
|
+
/ | {{action.search}}
|
3
|
+
.panel-body
|
4
|
+
form
|
5
|
+
span ng-if="::!action.meta.tabs"
|
6
|
+
span ng-repeat="f in action.meta.search_fields track by $index" ng-if="!action.meta.info[f].hidden_search"
|
7
|
+
e2-include template="action.meta.info[f].render.template"
|
8
|
+
span ng-if="::action.meta.tabs"
|
9
|
+
div bs-tabs="" ng-init="action.ui_state.search_tab = (action.ui_state.search_tab + 0) <= 0 ? 0 : action.ui_state.search_tab" bs-active-pane="action.ui_state.search_tab"
|
10
|
+
div ng-repeat="t in ::action.meta.tabs track by $index" title="{{::t.loc}}" bs-pane=""
|
11
|
+
br
|
12
|
+
span ng-repeat="f in t.fields track by $index" ng-if="!action.meta.info[f].hidden_search"
|
13
|
+
e2-include template="action.meta.info[f].render.template"
|
14
|
+
|
15
|
+
.btn-group.btn-group-sm.pull-right
|
16
|
+
button.btn.btn-default ng-click="action.load_new()"
|
17
|
+
| Szukaj
|
18
|
+
span.glyphicon.glyphicon-zoom-in<
|
19
|
+
button.btn.btn-default ng-click="action.search_reset()"
|
20
|
+
span.glyphicon.glyphicon-asterisk
|
@@ -0,0 +1,18 @@
|
|
1
|
+
div
|
2
|
+
span ng-if="::!action.meta.tabs"
|
3
|
+
table.table.table-striped.table-condensed.table-hover
|
4
|
+
tr ng-repeat="f in action.meta.fields track by $index" ng-hide="::action.meta.info[f].hidden"
|
5
|
+
td ng-bind="::action.meta.info[f].loc"
|
6
|
+
td
|
7
|
+
div ng-bind-html="action.view_cell(action.record, f)"
|
8
|
+
span ng-if="::action.meta.tabs"
|
9
|
+
div bs-tabs="" bs-active-pane="action.activeTab" ng-init="action.activeTab = 0"
|
10
|
+
div ng-repeat="t in ::action.meta.tabs" title="{{::t.loc}}" bs-pane=""
|
11
|
+
br
|
12
|
+
table.table.table-striped.table-condensed.table-hover
|
13
|
+
tr ng-repeat="f in t.fields" ng-hide="::action.meta.info[f].hidden"
|
14
|
+
td ng-bind="::action.meta.info[f].loc"
|
15
|
+
td
|
16
|
+
div ng-bind-html="action.view_cell(action.record, f)"
|
17
|
+
|
18
|
+
span ng-if="::action.alert": .alert.alert-danger[] {{::action.alert}}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
e2-action action="[action.meta.info[f].assoc, 'list']"
|
2
|
+
.col-lg-3.col-md-4.col-sm-5
|
3
|
+
.form-group
|
4
|
+
.input-group.input-group-sm
|
5
|
+
button.btn.btn-default [
|
6
|
+
type="button"
|
7
|
+
ng-init="info = action.meta.info[f]"
|
8
|
+
ng-model="action.selected"
|
9
|
+
bs-options="v.id as v.value for v in action.values"
|
10
|
+
ng-change="action.change()"
|
11
|
+
ng-class="info.render.class"
|
12
|
+
class="form-control"
|
13
|
+
|
14
|
+
data-animation="{{::info.render.animation}}"
|
15
|
+
data-placeholder="{{::info.loc}}"
|
16
|
+
data-multiple="1"
|
17
|
+
data-max-length="3"
|
18
|
+
data-max-length-html="wybranych"
|
19
|
+
data-html="true"
|
20
|
+
bs-select=""
|
21
|
+
e2-search-field=""
|
22
|
+
]
|
23
|
+
.input-group-btn
|
24
|
+
a.btn.btn-default ng-disabled="action.selected.length == 0" ng-click="action.reset()"
|
25
|
+
span.glyphicon.glyphicon-off
|
@@ -0,0 +1,24 @@
|
|
1
|
+
e2-action action="[action.meta.info[f].assoc, 'list']"
|
2
|
+
.col-lg-3.col-md-4.col-sm-5
|
3
|
+
.form-group
|
4
|
+
.input-group.input-group-sm
|
5
|
+
button.btn.btn-default [
|
6
|
+
type="button"
|
7
|
+
ng-init="info = action.meta.info[f]"
|
8
|
+
ng-model="action.selected"
|
9
|
+
bs-options="v.id as v.value for v in action.values"
|
10
|
+
ng-change="action.change()"
|
11
|
+
ng-class="info.render.class"
|
12
|
+
class="form-control"
|
13
|
+
|
14
|
+
data-animation="{{::info.render.animation}}"
|
15
|
+
data-placeholder="{{::info.loc}}"
|
16
|
+
data-html="true"
|
17
|
+
bs-select=""
|
18
|
+
|
19
|
+
e2-search-field=""
|
20
|
+
]
|
21
|
+
|
22
|
+
.input-group-btn
|
23
|
+
a.btn.btn-default ng-disabled="!action.selected" ng-click="action.reset()"
|
24
|
+
span.glyphicon.glyphicon-off
|
@@ -0,0 +1,11 @@
|
|
1
|
+
input [
|
2
|
+
type="checkbox"
|
3
|
+
ng-model="action.query.search[f]"
|
4
|
+
ng-true-value="{{::action.meta.info[f].render.true_value}}"
|
5
|
+
ng-false-value="{{::action.meta.info[f].render.false_value}}"
|
6
|
+
|
7
|
+
xe2-search-field=""
|
8
|
+
]
|
9
|
+
|
10
|
+
/ ng-false-value="{{action.meta.info[f].render.false_value}}"
|
11
|
+
/ ng-init="action.record[f] = '0'"
|
@@ -0,0 +1,14 @@
|
|
1
|
+
.form-group
|
2
|
+
.btn-group.btn-group-sm [
|
3
|
+
ng-model="action.query.search[f]"
|
4
|
+
bs-buttons-radio=""
|
5
|
+
ng-change="action.search_live(f)"
|
6
|
+
]
|
7
|
+
button.btn.btn-default type="button" value="{{action.meta.info[f].render.true_value}}": span.glyphicon.glyphicon-ok
|
8
|
+
button.btn.btn-default type="button" value="{{action.meta.info[f].render.false_value}}": span.glyphicon.glyphicon-remove
|
9
|
+
button.btn.btn-default type="button" ng-disabled="!action.query.search[f]": span.glyphicon.glyphicon-off
|
10
|
+
span ng-bind="::action.meta.info[f].loc"
|
11
|
+
|
12
|
+
/input type="checkbox" id="{{f}}" ng-model="action.query.search[f]" ng-true-value="{{action.meta.info[f].render.true_value}}" ng-false-value="{{action.meta.info[f].render.false_value}}"
|
13
|
+
/ ng-false-value="{{action.meta.info[f].render.false_value}}"
|
14
|
+
/ ng-init="action.record[f] = '0'"
|
@@ -0,0 +1,10 @@
|
|
1
|
+
.col-lg-3.col-md-3.col-sm-3
|
2
|
+
.form-group
|
3
|
+
.btn-group.btn-group-sm ng-init="info = action.meta.info[f]" xe2-search-field=""
|
4
|
+
a.btn.btn-default ng-class="action.query.search[f] == info.render.true_value && 'active'" ng-click="action.query.search[f] = info.render.true_value; action.search_live(f)"
|
5
|
+
span.glyphicon.glyphicon-ok
|
6
|
+
a.btn.btn-default ng-class="action.query.search[f] == info.render.false_value && 'active'" ng-click="action.query.search[f] = info.render.false_value; action.search_live(f)"
|
7
|
+
span.glyphicon.glyphicon-remove
|
8
|
+
a.btn.btn-default ng-disabled="action.query.search[f] == null" ng-click="action.query.search[f] = null; action.search_live(f)"
|
9
|
+
span ng-bind="::action.meta.info[f].loc"
|
10
|
+
span.glyphicon.glyphicon-off<
|
@@ -0,0 +1,46 @@
|
|
1
|
+
span ng-init="action.query.search[f] = action.query.search[f] || {}; value = value || {}"
|
2
|
+
.col-lg-3.col-md-4.col-sm-4
|
3
|
+
.form-group
|
4
|
+
.input-group.input-group-sm
|
5
|
+
input.btn.btn-default [
|
6
|
+
ng-init="info = action.meta.info[f]"
|
7
|
+
type="text"
|
8
|
+
class="form-control"
|
9
|
+
placeholder="{{::info.loc}} <"
|
10
|
+
ng-model="value.from"
|
11
|
+
xng-change="action.search_live(f)"
|
12
|
+
data-max-date="{{value.to}}"
|
13
|
+
data-date-format="{{::info.render.format}}"
|
14
|
+
data-animation="{{::info.render.animation}}"
|
15
|
+
bs-datepicker=""
|
16
|
+
e2-datepicker="from"
|
17
|
+
e2-model-format="{{::info.render.model_format}}"
|
18
|
+
data-autoclose="1"
|
19
|
+
e2-search-field=""
|
20
|
+
]
|
21
|
+
.input-group-btn
|
22
|
+
a.btn.btn-default data-toggle="datepicker": span.glyphicon.glyphicon-calendar
|
23
|
+
a.btn.btn-default ng-disabled="!action.query.search[f].from" ng-click="value.from = null; action.query.search[f].from = null; action.search_live(f)": span.glyphicon.glyphicon-off
|
24
|
+
|
25
|
+
.col-lg-3.col-md-4.col-sm-4
|
26
|
+
.form-group
|
27
|
+
.input-group.input-group-sm
|
28
|
+
input.btn.btn-default [
|
29
|
+
ng-init="info = action.meta.info[f]"
|
30
|
+
type="text"
|
31
|
+
class="form-control"
|
32
|
+
placeholder="{{::info.loc}} >"
|
33
|
+
ng-model="value.to"
|
34
|
+
xng-change="action.search_live(f)"
|
35
|
+
data-min-date="{{value.from}}"
|
36
|
+
data-date-format="{{::info.render.format}}"
|
37
|
+
data-animation="{{::info.render.animation}}"
|
38
|
+
bs-datepicker=""
|
39
|
+
e2-datepicker="to"
|
40
|
+
e2-model-format="{{::info.render.model_format}}"
|
41
|
+
data-autoclose="1"
|
42
|
+
e2-search-field=""
|
43
|
+
]
|
44
|
+
.input-group-btn
|
45
|
+
a.btn.btn-default data-toggle="datepicker": span.glyphicon.glyphicon-calendar
|
46
|
+
a.btn.btn-default ng-disabled="!action.query.search[f].to" ng-click="value.to = null; action.query.search[f].to = null; action.search_live(f)": span.glyphicon.glyphicon-off
|
@@ -0,0 +1,47 @@
|
|
1
|
+
span ng-init="action.query.search[f] = action.query.search[f] || {}"
|
2
|
+
.col-lg-3.col-md-4.col-sm-4
|
3
|
+
.form-group
|
4
|
+
.input-group.input-group-sm
|
5
|
+
input.btn.btn-default [
|
6
|
+
type="text"
|
7
|
+
class="form-control"
|
8
|
+
placeholder="{{::action.meta.info[f].loc}} <"
|
9
|
+
xng-model="value"
|
10
|
+
ng-model="action.query.search[f].from"
|
11
|
+
ng-change="action.search_live(f)"
|
12
|
+
xe2-decimal-date-picker="" range="from"
|
13
|
+
data-max-date="{{action.query.search[f].to}}"
|
14
|
+
data-date-format="{{::action.meta.info[f].render.format}}"
|
15
|
+
data-model-date-format="yyyyMMdd"
|
16
|
+
bs-datepicker=""
|
17
|
+
data-autoclose="1"
|
18
|
+
data-date-type="string"
|
19
|
+
e2-search-field=""
|
20
|
+
]
|
21
|
+
.input-group-btn
|
22
|
+
a.btn.btn-default.disabled data-toggle="datepicker": span.glyphicon.glyphicon-calendar
|
23
|
+
a.btn.btn-default ng-disabled="!action.query.search[f].from" ng-click="action.query.search[f].from = null; action.search_live(f)": span.glyphicon.glyphicon-off
|
24
|
+
|
25
|
+
.col-lg-3.col-md-4.col-sm-4
|
26
|
+
.form-group
|
27
|
+
.input-group.input-group-sm
|
28
|
+
input.btn.btn-default [
|
29
|
+
type="text"
|
30
|
+
class="form-control"
|
31
|
+
placeholder="{{::action.meta.info[f].loc}} >"
|
32
|
+
xng-model="value"
|
33
|
+
ng-model="action.query.search[f].to"
|
34
|
+
ng-change="action.search_live(f)"
|
35
|
+
xe2-decimal-date-picker="" range="to"
|
36
|
+
data-min-date="{{action.query.search[f].from}}"
|
37
|
+
data-date-format="{{::action.meta.info[f].render.format}}"
|
38
|
+
data-model-date-format="yyyyMMdd"
|
39
|
+
data-animation="{{::action.meta.info[f].render.animation}}"
|
40
|
+
bs-datepicker=""
|
41
|
+
data-autoclose="1"
|
42
|
+
data-date-type="string"
|
43
|
+
e2-search-field=""
|
44
|
+
]
|
45
|
+
.input-group-btn
|
46
|
+
a.btn.btn-default.disabled data-toggle="datepicker": span.glyphicon.glyphicon-calendar
|
47
|
+
a.btn.btn-default ng-disabled="!action.query.search[f].to" ng-click="action.query.search[f].to = null; action.search_live(f)": span.glyphicon.glyphicon-off
|
@@ -0,0 +1,18 @@
|
|
1
|
+
.col-lg-4.col-md-4.col-sm-5
|
2
|
+
.form-group
|
3
|
+
.input-group.input-group-sm
|
4
|
+
input [
|
5
|
+
type="text"
|
6
|
+
ng-model="action.query.search[f]"
|
7
|
+
ng-model-options="{debounce: 200}"
|
8
|
+
maxlength="15"
|
9
|
+
ng-change="action.search_live(f)"
|
10
|
+
ng-class="action.meta.info[f].render.class"
|
11
|
+
class="form-control"
|
12
|
+
placeholder="{{::action.meta.info[f].loc}}"
|
13
|
+
e2-search-field=""
|
14
|
+
]
|
15
|
+
.input-group-btn
|
16
|
+
a.btn.btn-default ng-disabled="!action.query.search[f]" ng-click="action.query.search[f] = null; action.search_live(f)"
|
17
|
+
span.glyphicon.glyphicon-off
|
18
|
+
|
@@ -0,0 +1,18 @@
|
|
1
|
+
.col-lg-2.col-md-3.col-sm-4
|
2
|
+
.form-group
|
3
|
+
.input-group.input-group-sm
|
4
|
+
input [
|
5
|
+
type="text"
|
6
|
+
ng-model="action.query.search[f]"
|
7
|
+
ng-model-options="{debounce: 200}"
|
8
|
+
ng-change="action.search_live(f)"
|
9
|
+
class="form-control"
|
10
|
+
placeholder="{{::action.meta.info[f].loc}}"
|
11
|
+
e2-search-field=""
|
12
|
+
e2-integer=""
|
13
|
+
]
|
14
|
+
.input-group-btn
|
15
|
+
a.btn.btn-default ng-disabled="!action.query.search[f]" ng-click="action.query.search[f] = null; action.search_live(f)"
|
16
|
+
span.glyphicon.glyphicon-off
|
17
|
+
|
18
|
+
/button.btn ng-click="action.query.search[f] = null": i.icon-remove
|
@@ -0,0 +1,27 @@
|
|
1
|
+
span ng-init="action.query.search[f] = action.query.search[f] || {}"
|
2
|
+
.col-lg-2.col-md-3.col-sm-4
|
3
|
+
.form-group
|
4
|
+
.input-group.input-group-sm
|
5
|
+
input [
|
6
|
+
type="text"
|
7
|
+
ng-model="action.query.search[f].from"
|
8
|
+
class="form-control"
|
9
|
+
placeholder="{{::action.meta.info[f].loc}} <"
|
10
|
+
e2-search-field=""
|
11
|
+
e2-integer=""
|
12
|
+
]
|
13
|
+
.input-group-btn
|
14
|
+
a.btn.btn-default ng-disabled="!action.query.search[f].from" ng-click="action.query.search[f].from = null; action.search_live(f)": span.glyphicon.glyphicon-off
|
15
|
+
.col-lg-2.col-md-3.col-sm-4
|
16
|
+
.form-group
|
17
|
+
.input-group.input-group-sm
|
18
|
+
input [
|
19
|
+
type="text"
|
20
|
+
ng-model="action.query.search[f].to"
|
21
|
+
class="form-control"
|
22
|
+
placeholder="{{::action.meta.info[f].loc}} >"
|
23
|
+
e2-search-field=""
|
24
|
+
e2-integer=""
|
25
|
+
]
|
26
|
+
.input-group-btn
|
27
|
+
a.btn.btn-default ng-disabled="!action.query.search[f].to" ng-click="action.query.search[f].to = null; action.search_live(f)": span.glyphicon.glyphicon-off
|
@@ -0,0 +1,24 @@
|
|
1
|
+
.col-lg-3.col-md-4.col-sm-5
|
2
|
+
.form-group
|
3
|
+
.input-group.input-group-sm
|
4
|
+
button.btn.btn-default [
|
5
|
+
type="button"
|
6
|
+
ng-init="info = action.meta.info[f]; action.query.search[f] = action.query.search[f] || []"
|
7
|
+
ng-model="action.query.search[f]"
|
8
|
+
bs-options="v[0] as v[1] for v in info.render.list"
|
9
|
+
data-html="true"
|
10
|
+
ng-change="action.search_live(f)"
|
11
|
+
ng-class="info.render.class"
|
12
|
+
class="form-control"
|
13
|
+
|
14
|
+
data-animation="{{::info.render.animation}}"
|
15
|
+
data-placeholder="{{::info.loc}}"
|
16
|
+
data-multiple="1"
|
17
|
+
data-max-length-html="wybranych"
|
18
|
+
bs-select=""
|
19
|
+
e2-search-field=""
|
20
|
+
]
|
21
|
+
|
22
|
+
.input-group-btn
|
23
|
+
a.btn.btn-default ng-disabled="action.query.search[f].length == 0" ng-click="action.query.search[f] = []; action.search_live(f)"
|
24
|
+
span.glyphicon.glyphicon-off
|
@@ -0,0 +1,22 @@
|
|
1
|
+
.col-lg-3.col-md-4.col-sm-5
|
2
|
+
.form-group
|
3
|
+
.input-group.input-group-sm
|
4
|
+
button.btn.btn-default [
|
5
|
+
type="button"
|
6
|
+
ng-init="info = action.meta.info[f]"
|
7
|
+
ng-model="action.query.search[f]"
|
8
|
+
bs-options="v[0] as v[1] for v in info.render.list"
|
9
|
+
data-html="true"
|
10
|
+
ng-change="action.search_live(f)"
|
11
|
+
ng-class="info.render.class"
|
12
|
+
class="form-control"
|
13
|
+
|
14
|
+
data-animation="{{::info.render.animation}}"
|
15
|
+
data-placeholder="{{::info.loc}}"
|
16
|
+
bs-select=""
|
17
|
+
e2-search-field=""
|
18
|
+
]
|
19
|
+
|
20
|
+
.input-group-btn
|
21
|
+
a.btn.btn-default ng-disabled="action.query.search[f] == null" ng-click="action.query.search[f] = null; action.search_live(f)"
|
22
|
+
span.glyphicon.glyphicon-off
|
@@ -0,0 +1,8 @@
|
|
1
|
+
.col-lg-3.col-md-4.col-sm-5
|
2
|
+
/.container
|
3
|
+
.form-group
|
4
|
+
.btn-group.btn-group-sm ng-init="info = action.meta.info[f]" ng-model="action.query.search[f]" e2-search-field=""
|
5
|
+
a.btn.btn-default ng-class="action.query.search[f] == v[0] && 'active'" ng-click="action.query.search[f] = v[0]; action.search_live(f)" ng-repeat="v in info.render.list" ng-bind-html="v[1]"
|
6
|
+
a.btn.btn-default ng-disabled="action.query.search[f] == null" ng-click="action.query.search[f] = null; action.search_live(f)"
|
7
|
+
span ng-bind="::action.meta.info[f].loc"
|
8
|
+
span.glyphicon.glyphicon-off<
|
@@ -0,0 +1,17 @@
|
|
1
|
+
.col-lg-3.col-md-4.col-sm-5
|
2
|
+
.form-group
|
3
|
+
.input-group.input-group-sm
|
4
|
+
select.btn.btn-default [
|
5
|
+
ng-init="info = action.meta.info[f]"
|
6
|
+
ng-model="action.query.search[f]"
|
7
|
+
ng-options="v[0] as v[1] for v in info.render.list"
|
8
|
+
ng-change="action.search_live(f)"
|
9
|
+
ng-class="info.render.class"
|
10
|
+
class="form-control"
|
11
|
+
e2-search-field=""
|
12
|
+
]
|
13
|
+
option value="" ng-bind="::action.meta.info[f].loc"
|
14
|
+
|
15
|
+
.input-group-btn
|
16
|
+
a.btn.btn-default ng-disabled="action.query.search[f] == null" ng-click="action.query.search[f] = null; action.search_live(f)"
|
17
|
+
span.glyphicon.glyphicon-off
|