isite 2022.8.3 → 2022.8.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +7 -7
  2. package/apps/client-side/app.js +255 -182
  3. package/apps/client-side/site_files/css/bootstrap5-addon.css +87 -4
  4. package/apps/client-side/site_files/css/bootstrap5.css +1 -1
  5. package/apps/client-side/site_files/css/bootstrap5.css.map +1 -0
  6. package/apps/client-side/site_files/css/dropdown.css +22 -4
  7. package/apps/client-side/site_files/css/effect.css +342 -283
  8. package/apps/client-side/site_files/css/images.css +10 -7
  9. package/apps/client-side/site_files/css/layout.css +37 -44
  10. package/apps/client-side/site_files/css/modal.css +1 -1
  11. package/apps/client-side/site_files/css/normalize.css +146 -0
  12. package/apps/client-side/site_files/css/scrollbar.css +9 -5
  13. package/apps/client-side/site_files/css/table.css +3 -3
  14. package/apps/client-side/site_files/html/directive/i-button.html +5 -0
  15. package/apps/client-side/site_files/html/directive/i-checkbox.html +4 -0
  16. package/apps/client-side/site_files/html/directive/i-checklist.html +6 -0
  17. package/apps/client-side/site_files/html/directive/i-control.html +5 -0
  18. package/apps/client-side/site_files/html/directive/i-date.html +24 -0
  19. package/apps/client-side/site_files/html/directive/i-datetime.html +31 -0
  20. package/apps/client-side/site_files/html/{sub/i-file.content.html → directive/i-file.html} +3 -5
  21. package/apps/client-side/site_files/html/directive/i-image.html +7 -0
  22. package/apps/client-side/site_files/html/directive/i-list.html +20 -0
  23. package/apps/client-side/site_files/html/directive/i-radio.html +4 -0
  24. package/apps/client-side/site_files/html/directive/i-textarea.html +4 -0
  25. package/apps/client-side/site_files/html/directive/i-treenode.html +20 -0
  26. package/apps/client-side/site_files/html/directive/i-treeview.html +13 -0
  27. package/apps/client-side/site_files/html/directive/i-upload.html +5 -0
  28. package/apps/client-side/site_files/html/directive-core/i-date.html +64 -0
  29. package/apps/client-side/site_files/html/directive-core/i-list.html +22 -0
  30. package/apps/client-side/site_files/images/no.jpg +0 -0
  31. package/apps/client-side/site_files/js/bootstrap-5-directive.js +278 -998
  32. package/apps/client-side/site_files/js/bootstrap.js.map +1 -0
  33. package/apps/client-side/site_files/js/directive.js +1865 -2044
  34. package/apps/client-side/site_files/js/directive.min.js +2 -2
  35. package/apps/client-side/site_files/js/site.js +19 -3
  36. package/apps/security/site_files/html/login_modal.html +18 -26
  37. package/index.js +277 -278
  38. package/isite_files/images/no.jpg +0 -0
  39. package/lib/cookie.js +3 -5
  40. package/lib/email.js +108 -0
  41. package/lib/integrated.js +10 -26
  42. package/lib/parser.js +519 -509
  43. package/lib/routing.js +23 -15
  44. package/lib/security.js +1109 -1081
  45. package/lib/sessions.js +182 -247
  46. package/object-options/index.js +24 -4
  47. package/object-options/lib/fn.js +6 -3
  48. package/package.json +5 -3
  49. package/pull.bat +3 -0
  50. package/push.bat +2 -5
  51. package/apps/client-side/site_files/html/sub/i-date2.content.html +0 -64
  52. package/apps/client-side/site_files/html/sub/i-list.content.html +0 -31
  53. package/apps/client-side/site_files/html/sub/i-list2.content.html +0 -22
@@ -12,16 +12,16 @@
12
12
  i-image {
13
13
  width: auto !important;
14
14
  height: auto !important;
15
+ margin: 5px;
15
16
  }
16
17
  i-image img {
17
- width: 150px;
18
- height: 150px;
18
+ width: 128px;
19
+ height: 128px;
19
20
  transition: all 0.5s ease;
20
21
  -moz-transition: all 0.5s ease;
21
22
  -webkit-transition: all 0.5s ease;
22
23
  -ms-transition: all 0.5s ease;
23
- background-image: url('/images/no.jpg');
24
- background-size: contain;
24
+ border: 1px dashed var(--theme-color);
25
25
  }
26
26
 
27
27
  i-image.full img {
@@ -35,10 +35,13 @@ i-image.logo img {
35
35
  width: 48px;
36
36
  height: 48px;
37
37
  }
38
-
38
+ i-image.logo64 img {
39
+ width: 64px;
40
+ height: 64px;
41
+ }
39
42
  i-image.photo img {
40
- width: 128px;
41
- height: 128px;
43
+ width: 256px;
44
+ height: 256px;
42
45
  }
43
46
 
44
47
  i-image.hover img:hover {
@@ -12,6 +12,7 @@
12
12
 
13
13
  html {
14
14
  background-color: var(--body-background);
15
+ scroll-behavior: smooth;
15
16
  }
16
17
 
17
18
  body {
@@ -109,108 +110,100 @@ h5 {
109
110
  display: inline;
110
111
  }
111
112
 
112
- .row .col1 {
113
- width: calc(1 / 13 * 100%);
113
+ .col1 {
114
+ width: calc(1 / 13 * 100%) !important;
114
115
  }
115
116
 
116
- .row .col2 {
117
- width: calc(2 / 13 * 100%);
117
+ .col2 {
118
+ width: calc(2 / 13 * 100%) !important;
118
119
  }
119
120
 
120
- .row .col3 {
121
- width: calc(3 / 13 * 100%);
121
+ .col3 {
122
+ width: calc(3 / 13 * 100%) !important;
122
123
  }
123
124
 
124
- .row .col4 {
125
- width: calc(4 / 13 * 100%);
125
+ .col4 {
126
+ width: calc(4 / 13 * 100%) !important;
126
127
  }
127
128
 
128
- .row .col5 {
129
- width: calc(5 / 13 * 100%);
129
+ .col5 {
130
+ width: calc(5 / 13 * 100%) !important;
130
131
  }
131
132
 
132
- .row .col6 {
133
- width: calc(6 / 13 * 100%);
133
+ .col6 {
134
+ width: calc(6 / 13 * 100%) !important;
134
135
  }
135
136
 
136
- .row .col7 {
137
- width: calc(7 / 13 * 100%);
137
+ .col7 {
138
+ width: calc(7 / 13 * 100%) !important;
138
139
  }
139
140
 
140
- .row .col8 {
141
- width: calc(8 / 13 * 100%);
141
+ .col8 {
142
+ width: calc(8 / 13 * 100%) !important;
142
143
  }
143
144
 
144
- .row .col9 {
145
- width: calc(9 / 13 * 100%);
145
+ .col9 {
146
+ width: calc(9 / 13 * 100%) !important;
146
147
  }
147
148
 
148
- .row .col10 {
149
- width: calc(10 / 13 * 100%);
149
+ .col10 {
150
+ width: calc(10 / 13 * 100%) !important;
150
151
  }
151
152
 
152
- .row .col11 {
153
- width: calc(11 / 13 * 100%);
153
+ .col11 {
154
+ width: calc(11 / 13 * 100%) !important;
154
155
  }
155
156
 
156
- .row .col12 {
157
- width: calc(12 / 13 * 100%);
157
+ .col12 {
158
+ width: calc(12 / 13 * 100%) !important;
158
159
  }
159
160
 
160
161
  .col-1 {
161
- width: calc(0.9 / 13 * 100%);
162
+ width: calc(0.9 / 13 * 100%) !important;
162
163
  }
163
164
 
164
165
  .col-2 {
165
- width: calc(1.9 / 13 * 100%);
166
+ width: calc(1.9 / 13 * 100%) !important;
166
167
  }
167
168
 
168
169
  .col-3 {
169
- width: calc(2.9 / 13 * 100%);
170
+ width: calc(2.9 / 13 * 100%) !important;
170
171
  }
171
172
 
172
173
  .col-4 {
173
- width: calc(3.9 / 13 * 100%);
174
+ width: calc(3.9 / 13 * 100%) !important;
174
175
  }
175
176
 
176
177
  .col-5 {
177
- width: calc(4.9 / 13 * 100%);
178
+ width: calc(4.9 / 13 * 100%) !important;
178
179
  }
179
180
 
180
181
  .col-6 {
181
- width: calc(5.9 / 13 * 100%);
182
+ width: calc(5.9 / 13 * 100%) !important;
182
183
  }
183
184
 
184
185
  .col-7 {
185
- width: calc(6.9 / 13 * 100%);
186
+ width: calc(6.9 / 13 * 100%) !important;
186
187
  }
187
188
 
188
189
  .col-8 {
189
- width: calc(7.9 / 13 * 100%);
190
+ width: calc(7.9 / 13 * 100%) !important;
190
191
  }
191
192
 
192
193
  .col-9 {
193
- width: calc(8.9 / 13 * 100%);
194
+ width: calc(8.9 / 13 * 100%) !important;
194
195
  }
195
196
 
196
197
  .col-10 {
197
- width: calc(9.9 / 13 * 100%);
198
+ width: calc(9.9 / 13 * 100%) !important;
198
199
  }
199
200
 
200
201
  .col-11 {
201
- width: calc(10.9 / 13 * 100%);
202
+ width: calc(10.9 / 13 * 100%) !important;
202
203
  }
203
204
 
204
205
  .col-12 {
205
- width: calc(11.9 / 13 * 100%);
206
- }
207
-
208
- .rtl {
209
- direction: rtl;
210
- }
211
-
212
- .ltr {
213
- direction: ltr;
206
+ width: calc(11.9 / 13 * 100%) !important;
214
207
  }
215
208
 
216
209
  /* Small devices (landscape phones, 576px and down) */
@@ -20,6 +20,7 @@
20
20
  margin: auto;
21
21
  padding: 0;
22
22
  width: 90%;
23
+ height: auto !important;
23
24
  box-shadow: 0 4px 8px 0 var(--modal-box-shadow-color), 0 6px 20px 0 var(--modal-box-shadow-color);
24
25
  -webkit-animation-name: var(--modal-animation-name);
25
26
  -webkit-animation-duration: var(--modal-animation-duration);
@@ -43,7 +44,6 @@
43
44
  padding: 2px 16px;
44
45
  color: var(--modal-color);
45
46
  overflow: overlay;
46
- max-height: 85vh;
47
47
  }
48
48
 
49
49
  .modal-footer {
@@ -0,0 +1,146 @@
1
+ html {
2
+ line-height: 1.15;
3
+ -webkit-text-size-adjust: 100%;
4
+ }
5
+ body {
6
+ margin: 0;
7
+ }
8
+ main {
9
+ display: block;
10
+ }
11
+ h1 {
12
+ font-size: 2em;
13
+ margin: 0.67em 0;
14
+ }
15
+ hr {
16
+ box-sizing: content-box;
17
+ height: 0;
18
+ overflow: visible;
19
+ }
20
+ pre {
21
+ font-family: monospace, monospace;
22
+ font-size: 1em;
23
+ }
24
+ a {
25
+ background-color: transparent;
26
+ }
27
+ abbr[title] {
28
+ border-bottom: none;
29
+ text-decoration: underline;
30
+ text-decoration: underline dotted;
31
+ }
32
+ b,
33
+ strong {
34
+ font-weight: bolder;
35
+ }
36
+ code,
37
+ kbd,
38
+ samp {
39
+ font-family: monospace, monospace;
40
+ font-size: 1em;
41
+ }
42
+ small {
43
+ font-size: 80%;
44
+ }
45
+ sub,
46
+ sup {
47
+ font-size: 75%;
48
+ line-height: 0;
49
+ position: relative;
50
+ vertical-align: baseline;
51
+ }
52
+ sub {
53
+ bottom: -0.25em;
54
+ }
55
+ sup {
56
+ top: -0.5em;
57
+ }
58
+ img {
59
+ border-style: none;
60
+ }
61
+ button,
62
+ input,
63
+ optgroup,
64
+ select,
65
+ textarea {
66
+ font-family: inherit;
67
+ font-size: 100%;
68
+ line-height: 1.15;
69
+ margin: 0;
70
+ }
71
+ button,
72
+ input {
73
+ overflow: visible;
74
+ }
75
+ button,
76
+ select {
77
+ text-transform: none;
78
+ }
79
+ [type="button"],
80
+ [type="reset"],
81
+ [type="submit"],
82
+ button {
83
+ -webkit-appearance: button;
84
+ }
85
+ [type="button"]::-moz-focus-inner,
86
+ [type="reset"]::-moz-focus-inner,
87
+ [type="submit"]::-moz-focus-inner,
88
+ button::-moz-focus-inner {
89
+ border-style: none;
90
+ padding: 0;
91
+ }
92
+ [type="button"]:-moz-focusring,
93
+ [type="reset"]:-moz-focusring,
94
+ [type="submit"]:-moz-focusring,
95
+ button:-moz-focusring {
96
+ outline: 1px dotted ButtonText;
97
+ }
98
+ fieldset {
99
+ padding: 0.35em 0.75em 0.625em;
100
+ }
101
+ legend {
102
+ box-sizing: border-box;
103
+ color: inherit;
104
+ display: table;
105
+ max-width: 100%;
106
+ padding: 0;
107
+ white-space: normal;
108
+ }
109
+ progress {
110
+ vertical-align: baseline;
111
+ }
112
+ textarea {
113
+ overflow: auto;
114
+ }
115
+ [type="checkbox"],
116
+ [type="radio"] {
117
+ box-sizing: border-box;
118
+ padding: 0;
119
+ }
120
+ [type="number"]::-webkit-inner-spin-button,
121
+ [type="number"]::-webkit-outer-spin-button {
122
+ height: auto;
123
+ }
124
+ [type="search"] {
125
+ -webkit-appearance: textfield;
126
+ outline-offset: -2px;
127
+ }
128
+ [type="search"]::-webkit-search-decoration {
129
+ -webkit-appearance: none;
130
+ }
131
+ ::-webkit-file-upload-button {
132
+ -webkit-appearance: button;
133
+ font: inherit;
134
+ }
135
+ details {
136
+ display: block;
137
+ }
138
+ summary {
139
+ display: list-item;
140
+ }
141
+ template {
142
+ display: none;
143
+ }
144
+ [hidden] {
145
+ display: none;
146
+ }
@@ -1,12 +1,16 @@
1
1
  ::-webkit-scrollbar {
2
- width: 5px;
2
+ width: 5px;
3
3
  }
4
-
4
+
5
5
  ::-webkit-scrollbar-track {
6
- -webkit-box-shadow: inset 0 0 6px var(--scrollbar-box-shadow-color);
6
+ -webkit-box-shadow: inset 0 0 6px var(--scrollbar-box-shadow-color);
7
7
  }
8
-
8
+
9
9
  ::-webkit-scrollbar-thumb {
10
10
  background-color: var(--scrollbar-background-color);
11
11
  outline: 1px solid var(--scrollbar-color);
12
- }
12
+ }
13
+
14
+ html::-webkit-scrollbar {
15
+ width: 10px;
16
+ }
@@ -36,10 +36,10 @@
36
36
  }
37
37
 
38
38
  .table th {
39
- background-color: var(--navbar-background-color);
40
- color: var(--table-th-color);
39
+ background-color: var(--navbar-background-color) !important;
40
+ color: var(--table-th-color) !important;
41
41
  border: var(--table-border);
42
- padding: 5px;
42
+ padding: 5px !important;
43
43
  text-align: center;
44
44
  font-weight: bold;
45
45
  white-space: nowrap;
@@ -0,0 +1,5 @@
1
+ <button class="btn {{class}}" type="button" ng-click="click()" ng-disabled="busy">
2
+ <span ng-show="busy" class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
3
+ {{label}}
4
+ <i class="{{fa}}"></i>
5
+ </button>
@@ -0,0 +1,4 @@
1
+ <div class="form-check">
2
+ <input ng-change="changed()" ng-disabled="disabled" class="form-check-input" type="checkbox" ng-model="ngModel" id="{{id2}}" />
3
+ <label class="form-check-label" for="{{id2}}"> {{label}} </label>
4
+ </div>
@@ -0,0 +1,6 @@
1
+ <div class="check-list">
2
+ <label class="title margin"> {{label}} </label>
3
+ <div class="row">
4
+ <i-checkbox class="{{class2}}" label="{{item[display]}}" ng-repeat="item in items" ng-model="item.$selected" ng-change="change(item);"></i-checkbox>
5
+ </div>
6
+ </div>
@@ -0,0 +1,5 @@
1
+ <div class="mb-3 {{class2}}">
2
+ <label for="{{id2}}" class="form-label">{{label}}</label>
3
+ <input id="{{id2}}" ng-disabled="disabled" autofocus v="{{v}}" type="{{type}}" ng-model="ngModel" ng-change="ngChange()" ngKeydown="ngKeydown()" class="form-control" placeholder="{{placeholder}}" aria-label="{{label}}" />
4
+ <div class="invalid-feedback"></div>
5
+ </div>
@@ -0,0 +1,24 @@
1
+ <div class="mb-3">
2
+ <label> {{label}} </label>
3
+ <div class="row" ng-hide="editOnly">
4
+ <p ng-click="editOnly = true" class="blue border padding pointer">
5
+ <span>{{model.selectedDay.name || '__'}} </span> / <span>{{model.selectedMonth.name || '______'}}</span> / <span>{{model.selectedYear.name || '____'}}</span>
6
+ </p>
7
+ </div>
8
+ <div class="row dashed padding margin" ng-show="editOnly">
9
+ <div class="col3">
10
+ <i-list label="Day" v="{{v}}" items="days" ng-model="model.selectedDay"></i-list>
11
+ </div>
12
+ <div class="col4">
13
+ <i-list label="Month" v="{{v}}" items="monthes" ng-model="model.selectedMonth"></i-list>
14
+ </div>
15
+ <div class="col4">
16
+ <i-list label="Year" v="{{v}}" items="years" ng-search="searchYear" ng-model="model.selectedYear"></i-list>
17
+ </div>
18
+
19
+ <div class="col2">
20
+ <br />
21
+ <i-button type="save default" ng-click="updateDate()"></i-button>
22
+ </div>
23
+ </div>
24
+ </div>
@@ -0,0 +1,31 @@
1
+ <div class="mb-3">
2
+ <label> {{label}} </label>
3
+ <div class="row" ng-hide="editOnly">
4
+ <p ng-click="editOnly = true" class="blue border padding pointer">
5
+ <span>{{model.selectedDay.name || '__'}} </span> / <span>{{model.selectedMonth.name || '______'}}</span> / <span>{{model.selectedYear.name || '____'}}</span> <span class="bold green">{{model.selectedHour.name || '--'}} </span> :
6
+ <span class="bold green">{{model.selectedMinute.name || '--'}}</span>
7
+ </p>
8
+ </div>
9
+ <div class="row dashed padding margin" ng-show="editOnly">
10
+ <div class="col2">
11
+ <i-list label="Day" v="{{v}}" items="days" ng-model="model.selectedDay"></i-list>
12
+ </div>
13
+ <div class="col3">
14
+ <i-list label="Month" v="{{v}}" items="monthes" ng-model="model.selectedMonth"></i-list>
15
+ </div>
16
+ <div class="col3">
17
+ <i-list label="Year" v="{{v}}" items="years" ng-search="searchYear" ng-model="model.selectedYear"></i-list>
18
+ </div>
19
+
20
+ <div class="col2">
21
+ <i-list label="Hour" v="{{v}}" items="hours" ng-model="model.selectedHour"></i-list>
22
+ </div>
23
+ <div class="col2">
24
+ <i-list label="Minute" v="{{v}}" items="minutes" ng-model="model.selectedMinute"></i-list>
25
+ </div>
26
+ <div class="row">
27
+ <br />
28
+ <i-button type="save default" ng-click="updateDate()"></i-button>
29
+ </div>
30
+ </div>
31
+ </div>
@@ -1,10 +1,10 @@
1
1
  <div class="row">
2
2
  <label class="col"> {{label}} </label>
3
- <button ng-hide="ngModel" class="btn btn-primary col">
3
+ <button ng-hide="ngModel || viewOnly" class="btn btn-primary col">
4
4
  <i class="fas fa-upload"></i>
5
5
  </button>
6
6
  <div class="row">
7
- <input class="hidden" type="file" name="fileToUpload" />
7
+ <input class="hidden" type="file" name="fileToUpload" accept="{{accept}}" />
8
8
  <div class="progress row">
9
9
  <div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="100" style="width: {{value}}%"></div>
10
10
  </div>
@@ -12,8 +12,6 @@
12
12
 
13
13
  <div class="view" ng-show="ngModel">
14
14
  <a class="link" href="{{ngModel.url}}"> {{ngModel.name}} </a> <span class="blue"> [ size {{ngModel.size / 1000}} kb ] </span>
15
- <button class="btn btn-danger" ng-click="ngModel = null">
16
- <i class="fas fa-times"></i>
17
- </button>
15
+ <i-button ng-hide="viewOnly" type="delete default" ng-click="ngModel = null;changed();"></i-button>
18
16
  </div>
19
17
  </div>
@@ -0,0 +1,7 @@
1
+ <div class="text-center pointer">
2
+ <input class="hidden" type="file" name="fileToUpload" accept="{{accept}}" />
3
+ <img class="rounded" ng-src="{{ngModel.url}}" ngClick="ngClick()" onerror="this.src='/images/no.jpg'" />
4
+ <div class="progress row">
5
+ <div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="100" style="width: {{value}}%"></div>
6
+ </div>
7
+ </div>
@@ -0,0 +1,20 @@
1
+ <div class="dropdown i-list">
2
+ <div class="mb-3 {{class2}}">
3
+ <label class="form-label"> {{label}} </label>
4
+ <input ng-focus="focus()" class="full-width text dropdown-text form-control {{css}}" ng-disabled="disabled" v="{{v}}" readonly ng-model="ngModel.$display" />
5
+ </div>
6
+
7
+ <div class="dropdown-content">
8
+ <div class="padding" ng-show="showSearch">
9
+ <input class="full-width search form-control" ng-model="ngSearch" />
10
+ </div>
11
+
12
+ <div class="dropdown-item row" ng-repeat="item in items | filter:{ $display : ngSearch}" ng-click="updateModel(item)">
13
+ <p>{{getValue(item)}} <small ng-show="display2"> {{getValue2(item)}} </small></p>
14
+ </div>
15
+
16
+ <div class="row center padding pointer">
17
+ <a class="btn red" ng-click="updateModel({})"> <i class="fa fa-trash"></i> Clear </a>
18
+ </div>
19
+ </div>
20
+ </div>
@@ -0,0 +1,4 @@
1
+ <div class="form-check">
2
+ <input class="form-check-input" type="radio" ng-value="ngValue" id="{{id2}}" ng-change="ngChange()" ng-disabled="disabled" ng-model="ngModel" name="{{group}}" />
3
+ <label class="form-check-label" for="{{id2}}"> {{label}} </label>
4
+ </div>
@@ -0,0 +1,4 @@
1
+ <div class="mb-3">
2
+ <label for="{{id2}}" class="form-label">{{label}}</label>
3
+ <textarea ng-disabled="disabled" class="form-control" id="{{id2}}" ng-model="ngModel" ng-change="ngChange()" v="{{v}}" rows="{{rows}}"></textarea>
4
+ </div>
@@ -0,0 +1,20 @@
1
+ <div class="treenode">
2
+ <ul>
3
+ <li ng-repeat="node in nodes">
4
+ <div class="row" ng-dblclick="$event.preventDefault();$event.stopPropagation();node.$actions = !0;source.$actions = !1" ng-mouseleave="node.$actions = !1">
5
+ <span ng-show="node.nodes.length > 0" ng-click="node.$expand = !node.$expand;"> <i ng-hide="node.$expand" class="fa fa-caret-left"></i> <i ng-show="node.$expand" class="fa fa-caret-down"></i> </span>
6
+ <span ng-hide="node.nodes.length > 0">
7
+ <i class="fa fa-file"></i>
8
+ </span>
9
+
10
+ <span class="text" ng-class="{'selected' : node.$selected == !0}" ng-click="ngClick($event , node);node.$expand = !node.$expand;selected(node);updateModal(node)"> {{node[display]}} </span>
11
+ <div class="actions" ng-show="node.$actions === !0">
12
+ <i-button type="add default" ng-click="ngAdd(node)"></i-button>
13
+ <i-button type="edit default" ng-click="ngEdit(node)"></i-button>
14
+ <i-button type="delete default" ng-click="ngDelete(node)"></i-button>
15
+ </div>
16
+ </div>
17
+ <i-treenode display="{{display}}" ng-click="ngClick($event)" ng-add="ngAdd()" ng-edit="ngEdit()" ng-delete="ngDelete()" ng-show="node.$expand" ng-model="ngModel" nodes="node.nodes" nodes="node.nodes"></i-treenode>
18
+ </li>
19
+ </ul>
20
+ </div>
@@ -0,0 +1,13 @@
1
+ <div class="treeview">
2
+ <ul>
3
+ <li ng-dblclick="$event.preventDefault();$event.stopPropagation();source.$actions = !0" ng-mouseleave="source.$actions = !1">
4
+ <i ng-hide="openTree" class="fa fa-folder"></i> <i ng-show="openTree" class="fa fa-folder"></i>
5
+
6
+ <span ng-click="openTree = !openTree" class="title"> {{label}} <small class="display"> [ {{ngModel.v_display}} ] </small> </span>
7
+ <div class="actions" ng-show="source.$actions === !0">
8
+ <i-button type="add default" ng-click="ngClick($event , ngModel);ngNode($event , ngModel)"></i-button>
9
+ </div>
10
+ <i-treenode display="{{display}}" ng-click="ngClick($event)" ng-add="ngAdd()" ng-edit="ngEdit()" ng-delete="ngDelete()" ng-show="openTree" ng-model="ngModel" nodes="v_nodes"></i-treenode>
11
+ </li>
12
+ </ul>
13
+ </div>
@@ -0,0 +1,5 @@
1
+ <form class="mb-3">
2
+ <input class="hidden" type="file" name="file" />
3
+ <i-button type="{{type}}" fa="fas fa-upload" ngClick="ngClick()" url="{{ngModel}}" label="{{label}}"> </i-button>
4
+ <progress class="row"></progress>
5
+ </form>
@@ -0,0 +1,64 @@
1
+ <div class="row i-date2">
2
+ <div class="control">
3
+ <label> {{label}} </label>
4
+ <div class="row">
5
+ <div class="col1 center" ng-click="setDay()">
6
+ <i class="fa fa-calendar-day"></i>
7
+ </div>
8
+ <div class="col2 day">
9
+ <div class="dropdown">
10
+ <div class="control">
11
+ <input class="full-width text dropdown-text {{css}}" ng-disabled="disabled" v="{{v}}" readonly ng-model="model.day_name" />
12
+ </div>
13
+
14
+ <div class="dropdown-content">
15
+ <div class="row padding">
16
+ <input class="full-width search" ng-model="d_search" />
17
+ <br />
18
+ </div>
19
+
20
+ <div class="row padding dropdown-item" ng-repeat="d in days1| filter : d_search">
21
+ <p class="center" ng-click="updateDate({day : d})">{{d.name}}</p>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ <div class="col5 month">
27
+ <div class="dropdown">
28
+ <div class="control">
29
+ <input class="full-width text dropdown-text {{css}}" ng-disabled="disabled" v="{{v}}" readonly ng-model="model.month_name" />
30
+ </div>
31
+
32
+ <div class="dropdown-content">
33
+ <div class="row padding">
34
+ <input class="full-width search" ng-model="m_search" />
35
+ <br />
36
+ </div>
37
+
38
+ <div class="row padding dropdown-item" ng-repeat="m in monthes1 | filter : m_search">
39
+ <p class="center" ng-click="updateDate({month : m})">{{m.name}}</p>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ <div class="col4 year">
45
+ <div class="dropdown">
46
+ <div class="control">
47
+ <input class="full-width text dropdown-text {{css}}" ng-disabled="disabled" v="{{v}}" readonly ng-model="model.year_name" />
48
+ </div>
49
+
50
+ <div class="dropdown-content">
51
+ <div class="row padding">
52
+ <input class="full-width search" ng-model="y_search" />
53
+ <br />
54
+ </div>
55
+
56
+ <div class="row padding dropdown-item" ng-repeat="y in years1 | filter : y_search">
57
+ <p class="center" ng-click="updateDate({year : y})">{{y.name}}</p>
58
+ </div>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ </div>
63
+ </div>
64
+ </div>