qms-angular 1.1.15 → 1.1.17

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 (78) hide show
  1. package/bundles/qms-angular.umd.js +1470 -21
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/common/models/qms-flat-node.model.js +1 -1
  4. package/esm2015/lib/components/qms-nav-drawer/qms-nav-drawer.component.js +3 -3
  5. package/esm2015/lib/components/select-access-dialog/common/animation.js +10 -0
  6. package/esm2015/lib/components/select-access-dialog/common/option-select-access.enum.js +7 -0
  7. package/esm2015/lib/components/select-access-dialog/index.js +2 -0
  8. package/esm2015/lib/components/select-access-dialog/model/access-item.model.js +6 -0
  9. package/esm2015/lib/components/select-access-dialog/model/option-select-access.model.js +3 -0
  10. package/esm2015/lib/components/select-access-dialog/model/select-access-data.js +17 -0
  11. package/esm2015/lib/components/select-access-dialog/public-api.js +8 -0
  12. package/esm2015/lib/components/select-access-dialog/select-access-dialog.component.js +330 -0
  13. package/esm2015/lib/components/select-access-dialog/select-access-dialog.module.js +60 -0
  14. package/esm2015/lib/components/select-access-dialog/service/select-access-global.service.js +11 -0
  15. package/esm2015/lib/components/select-department/common/animation.js +30 -0
  16. package/esm2015/lib/components/select-department/index.js +2 -0
  17. package/esm2015/lib/components/select-department/model/select-department-popup-data.model.js +15 -0
  18. package/esm2015/lib/components/select-department/public-api.js +5 -0
  19. package/esm2015/lib/components/select-department/select-department.component.js +98 -0
  20. package/esm2015/lib/components/select-department/select-department.module.js +62 -0
  21. package/esm2015/lib/components/select-department/service/select-department-global.service.js +22 -0
  22. package/esm2015/lib/components/select-department-tree/animation/animation.js +54 -0
  23. package/esm2015/lib/components/select-department-tree/index.js +2 -0
  24. package/esm2015/lib/components/select-department-tree/model/department-search-result.model.js +6 -0
  25. package/esm2015/lib/components/select-department-tree/model/select-department-tree.config.js +10 -0
  26. package/esm2015/lib/components/select-department-tree/public-api.js +7 -0
  27. package/esm2015/lib/components/select-department-tree/select-department-tree.component.js +611 -0
  28. package/esm2015/lib/components/select-department-tree/select-department-tree.module.js +60 -0
  29. package/esm2015/lib/components/select-department-tree/service/select-department-tree-global.service.js +22 -0
  30. package/esm2015/lib/components/select-include-children/services/select-include-children-global.service.js +1 -1
  31. package/esm2015/lib/components/select-one/select-one-next.component.js +1 -1
  32. package/esm2015/lib/components/tree/basic-tree.component.js +1 -1
  33. package/esm2015/lib/model/en.js +19 -2
  34. package/esm2015/lib/model/no.js +18 -1
  35. package/esm2015/lib/services/translation-registry.service.js +2 -2
  36. package/esm2015/public-api.js +4 -1
  37. package/fesm2015/qms-angular.js +1370 -22
  38. package/fesm2015/qms-angular.js.map +1 -1
  39. package/lib/common/models/qms-flat-node.model.d.ts +3 -0
  40. package/lib/components/select-access-dialog/common/animation.d.ts +1 -0
  41. package/lib/components/select-access-dialog/common/option-select-access.enum.d.ts +5 -0
  42. package/lib/components/select-access-dialog/index.d.ts +1 -0
  43. package/lib/components/select-access-dialog/model/access-item.model.d.ts +7 -0
  44. package/lib/components/select-access-dialog/model/option-select-access.model.d.ts +5 -0
  45. package/lib/components/select-access-dialog/model/select-access-data.d.ts +15 -0
  46. package/lib/components/select-access-dialog/public-api.d.ts +7 -0
  47. package/lib/components/select-access-dialog/select-access-dialog.component.d.ts +74 -0
  48. package/lib/components/select-access-dialog/select-access-dialog.module.d.ts +2 -0
  49. package/lib/components/select-access-dialog/service/select-access-global.service.d.ts +2 -0
  50. package/lib/components/select-department/common/animation.d.ts +1 -0
  51. package/lib/components/select-department/index.d.ts +1 -0
  52. package/lib/components/select-department/model/select-department-popup-data.model.d.ts +16 -0
  53. package/lib/components/select-department/public-api.d.ts +4 -0
  54. package/lib/components/select-department/select-department.component.d.ts +37 -0
  55. package/lib/components/select-department/select-department.module.d.ts +2 -0
  56. package/lib/components/select-department/service/select-department-global.service.d.ts +9 -0
  57. package/lib/components/select-department-tree/animation/animation.d.ts +1 -0
  58. package/lib/components/select-department-tree/index.d.ts +1 -0
  59. package/lib/components/select-department-tree/model/department-search-result.model.d.ts +11 -0
  60. package/lib/components/select-department-tree/model/select-department-tree.config.d.ts +9 -0
  61. package/lib/components/select-department-tree/public-api.d.ts +6 -0
  62. package/lib/components/select-department-tree/select-department-tree.component.d.ts +121 -0
  63. package/lib/components/select-department-tree/select-department-tree.module.d.ts +2 -0
  64. package/lib/components/select-department-tree/service/select-department-tree-global.service.d.ts +9 -0
  65. package/lib/model/en.d.ts +17 -0
  66. package/lib/model/no.d.ts +17 -0
  67. package/package.json +1 -1
  68. package/public-api.d.ts +3 -0
  69. package/qms-angular.metadata.json +1 -1
  70. package/src/lib/components/select-access-dialog/select-access-dialog.component.scss +285 -0
  71. package/src/lib/components/select-department/select-department.component.scss +185 -0
  72. package/src/lib/components/select-department-tree/select-department-tree.component.scss +445 -0
  73. package/src/themes/_qms-icon-font.scss +1 -1
  74. package/src/themes/core/_checkbox.scss +16 -2
  75. package/src/themes/core/_radio.scss +16 -3
  76. package/src/themes/core/_slide-toggle.scss +18 -5
  77. package/src/themes/core/_table-pure-gap.scss +134 -19
  78. package/src/themes/theme/_variable.scss +22 -2
@@ -0,0 +1,445 @@
1
+ @import "../../../themes/core/variables";
2
+ @import "../../../themes/theme/variable";
3
+ @import "../../../themes/theme/mixins";
4
+ @import "../../../themes/qms-icon-font";
5
+
6
+
7
+ .qms-select-department-tree-container {
8
+ .mr10 {
9
+ margin-right: 10px;
10
+ }
11
+
12
+ .mt5 {
13
+ margin-bottom: 5px;
14
+ }
15
+
16
+ .mb5 {
17
+ margin-top: 5px;
18
+ }
19
+
20
+ .w100 {
21
+ width: 100%;
22
+ }
23
+
24
+ .fw500{
25
+ font-weight: 500 !important;
26
+ }
27
+
28
+ .text-right {
29
+ text-align: right;
30
+ }
31
+
32
+ .mt20 {
33
+ margin-top: 20px;
34
+ }
35
+
36
+ .text-selected {
37
+ color: black(0.6);
38
+ font-size: 12px;
39
+ line-height: 16px;
40
+ margin-top: 1rem;
41
+ }
42
+
43
+ .input-field {
44
+ display: flex;
45
+ align-items: center;
46
+ position: relative;
47
+
48
+ input.input-search {
49
+ width: 100%;
50
+ padding: 10px;
51
+ outline: none;
52
+ border: none;
53
+ background: theme-apply($background-input-text);
54
+ }
55
+
56
+ .btn-search {
57
+ cursor: pointer;
58
+ vertical-align: middle;
59
+ position: absolute;
60
+ top: 50%;
61
+ right: 10px;
62
+ transform: translateY(-50%);
63
+ }
64
+
65
+ .line__divider {
66
+ border-bottom: 1px solid #ccc;
67
+ height: 1px;
68
+ margin-top: 10px;
69
+ min-width: 300px;
70
+ max-width: 100%;
71
+ }
72
+ }
73
+
74
+ .tree-department-wrapper {
75
+ height: 375px;
76
+ padding-right: 4px;
77
+ overflow-y: auto;
78
+ overflow-x: hidden;
79
+ position: relative;
80
+ }
81
+
82
+ // Tree
83
+ .mat-tree.select-department-tree {
84
+ .mat-tree-node {
85
+ border-radius: 4px;
86
+ &:hover {
87
+ background: black(0.08);
88
+ }
89
+
90
+ &:active {
91
+ background: black(0.12);
92
+ }
93
+
94
+ &.active {
95
+ color: theme-apply($primary);
96
+ background: theme-apply($primary-light-6-opacity);
97
+
98
+ &:active {
99
+ background: theme-apply($primary-light-12-opacity);
100
+ }
101
+
102
+ button,
103
+ .mat-icon-rtl-mirror,
104
+ .type-icon,
105
+ .text-name {
106
+ color: theme-apply($primary);
107
+ }
108
+ }
109
+ }
110
+
111
+ .mat-tree-node.collapse-node {
112
+ &.active {
113
+
114
+ button,
115
+ .mat-icon-rtl-mirror,
116
+ .type-icon,
117
+ .text-name {
118
+ color: theme-apply($primary);
119
+ }
120
+
121
+ &:hover {
122
+ background: theme-apply($primary-light-6-opacity);
123
+ }
124
+
125
+ &:active {
126
+ background: theme-apply($primary-light-12-opacity);
127
+ }
128
+ }
129
+ }
130
+
131
+ .mat-tree-node.expand-node {
132
+ color: theme-apply($primary);
133
+
134
+ button,
135
+ .mat-icon-rtl-mirror,
136
+ .type-icon,
137
+ .text-name {
138
+ color: theme-apply($primary);
139
+ }
140
+
141
+ &:hover {
142
+ background: theme-apply($primary-light-6-opacity);
143
+ }
144
+
145
+ &:active {
146
+ background: theme-apply($primary-light-12-opacity);
147
+ }
148
+ }
149
+
150
+ .type-icon {
151
+ margin-right: 5px;
152
+ color: theme-apply($ws-action-active);
153
+ }
154
+
155
+ .text-name {
156
+ color: theme-apply($default-color);
157
+ }
158
+
159
+ .mat-icon-rtl-mirror {
160
+ color: black(0.6);
161
+ }
162
+
163
+ .mat-icon-button.btn-toggle {
164
+ width: 35px;
165
+ height: 35px;
166
+ line-height: 35px;
167
+ }
168
+
169
+ .mat-tree-node {
170
+ &.mat-tree-node-disabled-all {
171
+ cursor: default !important;
172
+ pointer-events: none;
173
+ user-select: none;
174
+
175
+ button.mat-button-disabled,
176
+ .mat-icon-rtl-mirror,
177
+ .type-icon {
178
+ color: black(0.38);
179
+ }
180
+
181
+ .text-name {
182
+ &.disabled {
183
+ color: black(0.38);
184
+ cursor: default !important;
185
+ pointer-events: none;
186
+ user-select: none;
187
+ }
188
+ }
189
+
190
+ &.active {
191
+ background-color: transparent;
192
+ }
193
+ }
194
+
195
+ &.mat-tree-node-disabled {
196
+
197
+ button.mat-button-disabled,
198
+ .type-icon {
199
+ color: black(0.38);
200
+ }
201
+
202
+ .text-name {
203
+ &.disabled {
204
+ color: black(0.38);
205
+ cursor: default !important;
206
+ pointer-events: none;
207
+ user-select: none;
208
+ }
209
+ }
210
+
211
+ &.active,
212
+ &:hover,
213
+ &:active,
214
+ &.expand-node:hover,
215
+ &.expand-node:active {
216
+ background-color: transparent;
217
+ }
218
+ }
219
+
220
+ &>.node-content-wraper {
221
+ width: fit-content;
222
+ position: relative;
223
+ display: flex;
224
+ justify-content: center;
225
+ align-items: center;
226
+
227
+ &>.mat-progress-bar {
228
+ height: 3px;
229
+ width: 100%;
230
+ position: absolute;
231
+ bottom: 0;
232
+ left: 10px;
233
+
234
+ .mat-progress-bar-fill::after {
235
+ background: theme-apply($primary);
236
+ }
237
+ }
238
+ }
239
+ }
240
+ }
241
+
242
+ .text-name {
243
+ position: relative;
244
+ overflow: hidden;
245
+ text-overflow: ellipsis;
246
+ display: -webkit-box;
247
+ -webkit-line-clamp: 2;
248
+ -webkit-box-orient: vertical;
249
+ cursor: pointer;
250
+ width: 100%;
251
+ }
252
+
253
+ .cursor-pointer {
254
+ cursor: pointer;
255
+ }
256
+
257
+ .ml5 {
258
+ margin-left: 10px !important;
259
+ }
260
+
261
+ ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row {
262
+ .mat-checkbox-layout {
263
+ white-space: normal;
264
+ }
265
+
266
+ .mat-checkbox-label {
267
+ flex-direction: row;
268
+ align-items: center;
269
+ position: relative;
270
+ padding-bottom: 2px;
271
+ }
272
+ }
273
+
274
+ .qms-view-search-result{
275
+ height: 375px;
276
+ width: 100%;
277
+ .result {
278
+ max-height: calc(100% - 44px);
279
+ overflow-y: auto;
280
+ margin-bottom: 4px;
281
+ padding-right: 4px;
282
+ &.active-paging{
283
+ max-height: calc(100% - 104px);
284
+ }
285
+ &.no-result{
286
+ height: 100%;
287
+ display: flex;
288
+ justify-content: center;
289
+ align-items: center;
290
+ }
291
+ }
292
+ .result-item{
293
+ border-radius: 4px;
294
+ display: grid;
295
+ grid-template-columns: 45px 1fr;
296
+ align-items: center;
297
+ cursor: pointer;
298
+ transition: background .3s ease;
299
+ &:not(:nth-child(1)){
300
+ margin-top: 4px !important;
301
+ }
302
+ &:hover{
303
+ background: linear-gradient(0deg, rgba(1, 99, 178, 0.12), rgba(1, 99, 178, 0.12)), #FFFFFF;
304
+ }
305
+ &.active{
306
+ background: linear-gradient(0deg, rgba(1, 99, 178, 0.12), rgba(1, 99, 178, 0.12)), #FFFFFF;
307
+ }
308
+ .item-result-content-wraper{
309
+ padding: 5px 15px 5px 15px;
310
+ }
311
+ }
312
+
313
+ ::ng-deep .mat-checkbox.qms-group-options{
314
+ display: flex;
315
+ height: 100%;
316
+ }
317
+ }
318
+
319
+ ::ng-deep .breadcrumb-container{
320
+ flex-wrap: wrap;
321
+ }
322
+ ::ng-deep .mat-button-focus-overlay {
323
+ background-color: transparent;
324
+ }
325
+
326
+ ::ng-deep .qms-breadcrumb-item{
327
+ margin: 0;
328
+ }
329
+
330
+ ::ng-deep .qms-breadcrumb-item-text{
331
+ white-space: nowrap;
332
+ &:not(:last-child){
333
+ max-width: 150px !important;
334
+ }
335
+ text-overflow: ellipsis;
336
+ overflow: hidden;
337
+ transition: color .3s ease;
338
+ &:not(:last-child):hover{
339
+ color : theme-apply($primary)
340
+ }
341
+ }
342
+
343
+ ::ng-deep .qms-paginator{
344
+ .mat-icon{
345
+ display: flex;
346
+ align-items: center;
347
+ justify-content: center;
348
+ }
349
+ .mat-form-field-wrapper{
350
+ padding-bottom: 0;
351
+ }
352
+ .mat-paginator-container{
353
+ min-height: 40px;
354
+ }
355
+ .mat-paginator-container .qms-total-result{
356
+ margin-bottom: 0;
357
+ margin-right: 12px;
358
+ height: 100%;
359
+ display: flex;
360
+ justify-content: center;
361
+ align-items: center;
362
+ span{
363
+ font-weight: 600;
364
+ font-size: 13px;
365
+ color: black(0.8);
366
+ }
367
+ }
368
+ .mat-paginator-container .qms-paginator-range-actions{
369
+ margin-bottom: 0;
370
+ column-gap: 2px;
371
+ & > .qms-total-result{
372
+ margin-bottom: 0;
373
+ }
374
+ &> .qms-btn-icon{
375
+ width: 30px;
376
+ height: 30px;
377
+ line-height: 30px;
378
+ }
379
+ }
380
+
381
+ &> .qms-btn-icon-wrapper{
382
+ width: 30px;
383
+ height: 30px;
384
+ display: flex;
385
+ justify-content: center;
386
+ align-items: center;
387
+ }
388
+
389
+ .qms-paginator-page-size{
390
+ margin-right: 12px;
391
+ height: 100%;
392
+ display: flex;
393
+ align-items: center;
394
+ justify-content: center;
395
+ &> .qms-form-page-size .mat-form-field-flex{
396
+ width: 60px;
397
+ height: 30px;
398
+ display: flex;
399
+ align-items: center;
400
+ padding: 0 4px;
401
+ .mat-form-field-infix{
402
+ height: 30px;
403
+ }
404
+ }
405
+ & > .qms-pagesize-label{
406
+ display: none;
407
+ }
408
+ }
409
+ .mat-form-field.qms-form .mat-select-min-line, .mat-form-field.qms-form mat-select-trigger{
410
+ font-size: 14px;
411
+ }
412
+ .mat-select-value{
413
+ text-align: center;
414
+ }
415
+ }
416
+
417
+ .text-gray{
418
+ color: #242424;
419
+ }
420
+
421
+ .mb0{
422
+ margin-bottom: 0 !important;
423
+ }
424
+
425
+ .fs-base{
426
+ font-size: 14px !important;
427
+ }
428
+
429
+ .user-select-none{
430
+ user-select: none;
431
+ }
432
+
433
+ .item-breadcrumb-disable{
434
+ cursor: not-allowed;
435
+ color: rgba(0, 0, 0, 0.6);
436
+ font-weight: 400;
437
+ font-size: 14px;
438
+ }
439
+
440
+ ::ng-deep .mat-checkbox.checkbox-all .mat-checkbox-label{
441
+ flex-direction: row;
442
+ align-items: center;
443
+ column-gap: 4px;
444
+ }
445
+ }
@@ -10,7 +10,7 @@
10
10
  font-display: block;
11
11
  }
12
12
 
13
- [class^="icon-"], [class*=" icon-"] {
13
+ [class^="icon-"] {
14
14
  /* use !important to prevent issues with browser extensions that change fonts */
15
15
  font-family: 'icomoon' !important;
16
16
  speak: never;
@@ -62,16 +62,26 @@
62
62
  &.mat-checkbox-disabled:not(.mat-checkbox-checked) {
63
63
  .mat-checkbox-background {
64
64
  background: black(0.24);
65
- opacity: 0.68;
65
+ }
66
+
67
+ &.mat-checkbox-indeterminate {
68
+ .mat-checkbox-background {
69
+ background: theme-apply($primary-dark-1-disable-background);
70
+ }
66
71
  }
67
72
 
68
73
  .mat-checkbox-frame {
69
74
  border-color: black(0.38);
70
75
  background: white;
71
- opacity: 0.68;
72
76
  }
73
77
  }
74
78
 
79
+ &.mat-checkbox-disabled {
80
+ .mat-checkbox-background {
81
+ background-color: theme-apply($primary-dark-1-disable-background);
82
+ }
83
+ }
84
+
75
85
  &.mat-checkbox-checked {
76
86
  background: theme-apply($primary-light-12-opacity);
77
87
 
@@ -81,6 +91,10 @@
81
91
  }
82
92
  }
83
93
 
94
+ .mat-ripple-element {
95
+ background-color: theme-apply($primary-circle-background-hover);
96
+ }
97
+
84
98
  &:hover:not(.mat-checkbox-disabled) {
85
99
  background-color: theme-apply($primary-dark-24-opacity);
86
100
  }
@@ -54,9 +54,18 @@
54
54
 
55
55
  &.mat-radio-disabled:not(.mat-radio-checked) {
56
56
  .mat-radio-outer-circle {
57
- border-color: black(0.38);
58
- background: white;
59
- opacity: 0.68;
57
+ background: theme-apply($primary-dark-2-disable-background);
58
+ }
59
+ }
60
+
61
+ &.mat-radio-disabled {
62
+ .mat-radio-inner-circle {
63
+ background-color: theme-apply($primary-dark-1-disable-background);
64
+ }
65
+
66
+ .mat-radio-outer-circle {
67
+ border-color: theme-apply($primary-dark-1-disable-background) !important;
68
+ background-color: theme-apply($primary-dark-2-disable-background);
60
69
  }
61
70
  }
62
71
 
@@ -86,6 +95,10 @@
86
95
  .mat-radio-container {
87
96
  margin-right: 19px;
88
97
  }
98
+
99
+ .mat-ripple-element {
100
+ background-color: theme-apply($primary-circle-background-hover);
101
+ }
89
102
  }
90
103
 
91
104
  &.mat-radio-checked {
@@ -40,6 +40,10 @@
40
40
  flex-direction: column;
41
41
  }
42
42
 
43
+ .mat-slide-toggle-thumb {
44
+ background-color: theme-apply($ws-action-active);
45
+ }
46
+
43
47
  .text-label {
44
48
  font-size: 1rem;
45
49
  line-height: 28px;
@@ -66,7 +70,7 @@
66
70
  opacity: 1;
67
71
 
68
72
  .mat-slide-toggle-thumb {
69
- background-color: black(0.6);
73
+ background-color: $primary-dark-1-disable-background;
70
74
  }
71
75
 
72
76
  .mat-slide-toggle-bar {
@@ -76,23 +80,32 @@
76
80
 
77
81
  &.mat-checked {
78
82
  .mat-slide-toggle-thumb {
79
- background-color: theme-apply($primary-light-32-opacity);
83
+ background-color: theme-apply($primary-circle-background-hover);
80
84
  }
81
85
 
82
86
  .mat-slide-toggle-bar {
83
- background-color: theme-apply($primary);
84
- opacity: 0.38;
87
+ background-color: theme-apply($primary-dark-3-disable-background);
85
88
  }
86
89
  }
87
90
  }
88
91
 
92
+ &.mat-disabled:not(.mat-checked) {
93
+ .mat-slide-toggle-thumb {
94
+ background-color: theme-apply($primary-dark-1-disable-background);
95
+ }
96
+
97
+ .mat-slide-toggle-bar {
98
+ background-color: theme-apply($primary-dark-4-disable-background);
99
+ }
100
+ }
101
+
89
102
  &.mat-checked {
90
103
  .mat-slide-toggle-bar {
91
104
  background-color: theme-apply($primary-light-38-opacity);
92
105
  }
93
106
 
94
107
  .mat-ripple-element {
95
- background-color: theme-apply($primary-light-12-opacity);
108
+ background-color: theme-apply($primary-circle-background-hover);
96
109
  }
97
110
 
98
111
  &.cdk-keyboard-focused {