qms-angular 1.1.56 → 1.1.58

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 (37) hide show
  1. package/bundles/qms-angular.umd.js +52 -22
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/common/enum/data-type.enum.js +2 -1
  4. package/esm2015/lib/common/qms-icon.const.js +5 -1
  5. package/esm2015/lib/components/app-icon/icon-registry.service.js +5 -2
  6. package/esm2015/lib/components/qms-bpmn/models/flow-chart-shape/activity-related-items.js +1 -1
  7. package/esm2015/lib/components/qms-bpmn/qms-bpmn.component.js +3 -3
  8. package/esm2015/lib/components/qms-bpmn/qms-bpmn.module.js +4 -2
  9. package/esm2015/lib/components/related/list-other-related/list-related.component.js +5 -2
  10. package/esm2015/lib/components/related/model/related-data.model.js +1 -1
  11. package/esm2015/lib/components/related/popup/related-popup.component.js +17 -7
  12. package/esm2015/lib/components/select-access-dialog/select-access-dialog.component.js +5 -2
  13. package/esm2015/lib/components/select-department-tree/select-department-tree.component.js +9 -4
  14. package/esm2015/lib/model/en.js +4 -3
  15. package/esm2015/lib/model/no.js +4 -3
  16. package/esm2015/lib/model/sv.js +2 -2
  17. package/esm2015/lib/qms-ckeditor-components/common/enums/related-to-item-type.js +2 -1
  18. package/esm2015/lib/qms-ckeditor-components/common/enums/shape-flow-chart-connection-type.js +2 -1
  19. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +1 -4
  20. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.js +4 -1
  21. package/fesm2015/qms-angular.js +57 -24
  22. package/fesm2015/qms-angular.js.map +1 -1
  23. package/lib/common/enum/data-type.enum.d.ts +1 -0
  24. package/lib/common/qms-icon.const.d.ts +1 -0
  25. package/lib/components/app-icon/icon-registry.service.d.ts +1 -0
  26. package/lib/components/related/list-other-related/list-related.component.d.ts +1 -1
  27. package/lib/components/related/model/related-data.model.d.ts +1 -0
  28. package/lib/components/select-department-tree/select-department-tree.component.d.ts +1 -0
  29. package/lib/model/en.d.ts +1 -0
  30. package/lib/model/no.d.ts +1 -0
  31. package/lib/qms-ckeditor-components/common/enums/related-to-item-type.d.ts +2 -1
  32. package/lib/qms-ckeditor-components/common/enums/shape-flow-chart-connection-type.d.ts +2 -1
  33. package/package.json +1 -1
  34. package/qms-angular.metadata.json +1 -1
  35. package/src/assets/svg-icons/compliance.svg +3 -0
  36. package/src/lib/components/qms-bpmn/qms-bpmn.component.scss +10 -0
  37. package/src/lib/components/select-department-tree/select-department-tree.component.scss +691 -682
@@ -1,682 +1,691 @@
1
- @import "../../../themes/core/variables";
2
- @import "../../../themes/theme/variable";
3
- @import "../../../themes/theme/mixins";
4
- @import "../../../themes/qms-icon-font";
5
-
6
- .qms-select-department-tree-container {
7
- font-family: "Open Sans", sans-serif;
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
- .h100 {
24
- height: 100%;
25
- }
26
-
27
- .fw500 {
28
- font-weight: 500 !important;
29
- }
30
-
31
- .text-right {
32
- text-align: right;
33
- }
34
-
35
- .mt20 {
36
- margin-top: 20px;
37
- }
38
-
39
- .d-flex {
40
- display: flex;
41
- }
42
-
43
- .align-items-center {
44
- align-items: center;
45
- }
46
-
47
- .justify-content-end {
48
- justify-content: flex-end;
49
- }
50
-
51
- .text-selected {
52
- color: black(0.6);
53
- font-size: 12px;
54
- line-height: 16px;
55
- margin-top: 1rem;
56
- }
57
-
58
- .input-field {
59
- display: flex;
60
- align-items: center;
61
- position: relative;
62
-
63
- ::ng-deep .mat-form-field-wrapper {
64
- padding-bottom: 8px !important;
65
- }
66
- ::ng-deep .mat-form-field-underline {
67
- bottom: 8px !important;
68
- }
69
-
70
- input.input-search {
71
- width: 100%;
72
- padding: 10px;
73
- outline: none;
74
- border: none;
75
- background: theme-apply($background-input-text);
76
- }
77
-
78
- .btn-search {
79
- cursor: pointer;
80
- vertical-align: middle;
81
- position: absolute;
82
- top: 50%;
83
- right: 10px;
84
- transform: translateY(-50%);
85
- }
86
-
87
- .line__divider {
88
- border-bottom: 1px solid #ccc;
89
- height: 1px;
90
- margin-top: 10px;
91
- min-width: 300px;
92
- max-width: 100%;
93
- }
94
- }
95
-
96
- .header-title {
97
- font-weight: 500;
98
- color: theme-apply($ws-text-primary);
99
- font-size: 16px;
100
- display: flex;
101
- align-items: center;
102
- .header-view {
103
- padding: 4px 0;
104
- }
105
- }
106
-
107
- .sticky-position {
108
- position: sticky;
109
- top: 0;
110
- left: 0;
111
- z-index: 1;
112
- background: #ffffff;
113
- }
114
-
115
- .header-view-tree {
116
- display: grid;
117
- grid-template-columns: 1fr 200px;
118
- column-gap: 2px;
119
- padding: 4px 12px 4px 0;
120
- .header-view:nth-child(1) {
121
- padding-left: 12px;
122
- }
123
- }
124
-
125
- .tree-department-wrapper {
126
- padding-right: 4px;
127
- overflow: hidden;
128
- position: relative;
129
- transition: height 0.3s ease-in-out;
130
- .tree-view {
131
- &.active-mode-external-view {
132
- width: 100%;
133
- display: grid;
134
- grid-template-columns: 1fr 200px;
135
- column-gap: 2px;
136
- .tree-view-main {
137
- & > .separate {
138
- height: 38px;
139
- &.h-0 {
140
- height: 0;
141
- }
142
- }
143
- &:last-child {
144
- height: 100%;
145
- padding-left: 4px;
146
- position: relative;
147
- &::after {
148
- position: absolute;
149
- content: "";
150
- top: 0;
151
- bottom: -38px;
152
- left: 0;
153
- width: 1px;
154
- background: rgba(0, 0, 0, 0.12);
155
- }
156
- }
157
- .external-list-item-container {
158
- .node-external {
159
- overflow: hidden;
160
- transition: all 0.1s ease-in-out;
161
- .node-external-content {
162
- padding: 5px 15px 5px 15px;
163
- height: calc(100% - 2px);
164
- color: theme-apply($default-color);
165
- font-size: 14px;
166
- display: flex;
167
- align-items: center;
168
- span {
169
- overflow: hidden;
170
- text-overflow: ellipsis;
171
- white-space: nowrap;
172
- }
173
- }
174
- }
175
- }
176
- }
177
- }
178
- }
179
- }
180
-
181
- .mask-overlay {
182
- z-index: 1000;
183
- background-color: rgba(34, 33, 33, 0.1);
184
- position: absolute;
185
- top: 0;
186
- left: 0;
187
- width: 100%;
188
- height: 100%;
189
- border-radius: 4px;
190
- overflow: hidden;
191
- display: grid;
192
- place-items: center;
193
- }
194
- //Custom tree
195
- .select-department-tree {
196
- &
197
- > .cdk-virtual-scroll-orientation-vertical
198
- .cdk-virtual-scroll-content-wrapper {
199
- padding: 0 4px !important;
200
- }
201
- .qms-tree-node {
202
- display: flex;
203
- align-items: center;
204
- border-radius: 4px;
205
- &:hover {
206
- background-color: rgba(0, 0, 0, 0.08);
207
- }
208
- & > .node-expand-area {
209
- width: 48px;
210
- height: 48px;
211
- position: relative;
212
- }
213
- &.active-external-view {
214
- .mat-checkbox.qms-group-options {
215
- width: calc(100% - 250px);
216
- }
217
- }
218
- &.node-loading {
219
- background: theme-apply($primary-light-6-opacity);
220
- }
221
- & > .external-view-node {
222
- flex-basis: 200px;
223
- overflow: hidden;
224
- .node-external {
225
- overflow: hidden;
226
- transition: all 0.1s ease-in-out;
227
- display: block;
228
- .node-external-content {
229
- padding: 5px 15px 5px 15px;
230
- height: calc(100% - 2px);
231
- color: theme-apply($default-color);
232
- font-size: 14px;
233
- display: flex;
234
- align-items: center;
235
- span {
236
- overflow: hidden;
237
- text-overflow: ellipsis;
238
- white-space: nowrap;
239
- }
240
- }
241
- }
242
- }
243
- &.expand-node {
244
- color: theme-apply($primary);
245
- &:hover {
246
- background: theme-apply($primary-light-6-opacity);
247
- }
248
-
249
- &:active {
250
- background: theme-apply($primary-light-12-opacity);
251
- }
252
-
253
- .mat-icon {
254
- color: theme-apply($primary);
255
- }
256
- }
257
- .node-without-checkbox {
258
- cursor: pointer;
259
- width: 100%;
260
- display: flex;
261
- justify-content: space-between;
262
- align-items: center;
263
- .mat-icon {
264
- color: theme-apply($primary);
265
- margin-right: 4px;
266
- }
267
- }
268
- &.selected-theme {
269
- background: theme-apply($primary-light-12-opacity);
270
- }
271
-
272
- &.mat-tree-node-disabled-all {
273
- cursor: default !important;
274
- pointer-events: none;
275
- user-select: none;
276
-
277
- button.mat-button-disabled,
278
- .mat-icon-rtl-mirror,
279
- .type-icon {
280
- color: black(0.38);
281
- }
282
-
283
- .text-name {
284
- &.disabled {
285
- color: black(0.38);
286
- cursor: default !important;
287
- pointer-events: none;
288
- user-select: none;
289
- }
290
- }
291
-
292
- &.active {
293
- background-color: transparent;
294
- }
295
- }
296
-
297
- &.move-location-mode {
298
- &:hover,
299
- &:active {
300
- .move-location-btn {
301
- display: block;
302
- }
303
- }
304
- }
305
- }
306
- }
307
- .text-name {
308
- position: relative;
309
- overflow: hidden;
310
- text-overflow: ellipsis;
311
- display: -webkit-box;
312
- -webkit-line-clamp: 2;
313
- -webkit-box-orient: vertical;
314
- cursor: pointer;
315
- width: 100%;
316
- }
317
-
318
- .cursor-pointer {
319
- cursor: pointer;
320
- }
321
-
322
- .ml5 {
323
- margin-left: 15px !important;
324
- }
325
- .pl-10 {
326
- padding-left: 10px;
327
- }
328
-
329
- ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row {
330
- .mat-checkbox-layout {
331
- white-space: normal;
332
- }
333
-
334
- .node-text {
335
- & > span {
336
- display: block;
337
- }
338
- }
339
-
340
- .mat-checkbox-label {
341
- flex-direction: row;
342
- align-items: center;
343
- position: relative;
344
- padding-bottom: 2px;
345
- }
346
- }
347
-
348
- .qms-view-search-result {
349
- width: 100%;
350
- overflow: hidden;
351
- &__header {
352
- position: relative;
353
- &::after {
354
- position: absolute;
355
- content: "";
356
- bottom: 0;
357
- left: 0;
358
- width: 100%;
359
- height: 1px;
360
- background-color: black(0.1);
361
- }
362
- .header-title {
363
- padding: 8px 0;
364
- display: inline-block;
365
- &:nth-child(1) {
366
- padding-left: 12px;
367
- }
368
- &:nth-child(2) {
369
- flex-basis: 200px;
370
- }
371
- }
372
- }
373
- & > .no-result {
374
- height: 100%;
375
- display: flex;
376
- justify-content: center;
377
- align-items: center;
378
- }
379
- &__wrapper {
380
- height: calc(100% - 50px);
381
- &.active-external {
382
- height: calc(100% - 90px) !important;
383
- }
384
- width: 100%;
385
- .result {
386
- max-height: calc(100% - 44px);
387
- overflow-y: auto;
388
- margin-bottom: 4px;
389
- padding-right: 4px;
390
- &.active-paging {
391
- max-height: calc(100% - 40px);
392
- }
393
- }
394
- .result-item {
395
- border-radius: 4px;
396
- display: grid;
397
- grid-template-columns: 45px 1fr;
398
- align-items: center;
399
- cursor: pointer;
400
- transition: background 0.3s ease;
401
- min-height: 40px;
402
- &:not(:nth-child(1)) {
403
- margin-top: 4px !important;
404
- }
405
- &:hover {
406
- background: linear-gradient(
407
- 0deg,
408
- rgba(1, 99, 178, 0.12),
409
- rgba(1, 99, 178, 0.12)
410
- ),
411
- #ffffff;
412
- }
413
- &.active {
414
- background: linear-gradient(
415
- 0deg,
416
- rgba(1, 99, 178, 0.12),
417
- rgba(1, 99, 178, 0.12)
418
- ),
419
- #ffffff;
420
- }
421
- &__content {
422
- display: flex;
423
- align-items: center;
424
- .item-result-content-wraper {
425
- padding: 5px 15px 5px 15px;
426
- width: 100%;
427
- }
428
- .external-name {
429
- flex-basis: 200px;
430
- span {
431
- width: 200px;
432
- display: inline-block;
433
- }
434
- }
435
- }
436
- }
437
- }
438
- ::ng-deep .mat-checkbox.qms-group-options {
439
- display: flex;
440
- height: 100%;
441
- }
442
- }
443
-
444
- ::ng-deep .breadcrumb-container {
445
- flex-wrap: wrap;
446
- }
447
- ::ng-deep .mat-button-focus-overlay {
448
- background-color: transparent;
449
- }
450
-
451
- ::ng-deep .qms-breadcrumb-item {
452
- margin: 0;
453
- }
454
-
455
- ::ng-deep .qms-breadcrumb-item-text {
456
- white-space: nowrap;
457
- &:not(:last-child) {
458
- max-width: 150px !important;
459
- }
460
- text-overflow: ellipsis;
461
- overflow: hidden;
462
- transition: color 0.3s ease;
463
- &:not(:last-child):hover {
464
- // color : theme-apply($primary)
465
- }
466
- }
467
-
468
- ::ng-deep .qms-paginator {
469
- .mat-paginator-container .qms-total-result {
470
- margin-bottom: 0;
471
- margin-right: 12px;
472
- height: 100%;
473
- display: flex;
474
- align-items: center;
475
- span {
476
- font-weight: 600;
477
- color: black(0.8);
478
- }
479
- }
480
- .mat-paginator-container .qms-paginator-range-actions {
481
- margin-bottom: 0;
482
- column-gap: 2px;
483
- & > .qms-total-result {
484
- margin-bottom: 0;
485
- }
486
- }
487
- .mat-form-field-wrapper {
488
- padding-bottom: 0;
489
- }
490
- .qms-paginator-page-size {
491
- align-items: center;
492
- }
493
- }
494
-
495
- .text-gray {
496
- color: #242424;
497
- }
498
-
499
- .mb0 {
500
- margin-bottom: 0 !important;
501
- }
502
-
503
- .fs-base {
504
- font-size: 14px !important;
505
- }
506
-
507
- .user-select-none {
508
- user-select: none;
509
- }
510
-
511
- .item-breadcrumb-disable {
512
- cursor: not-allowed;
513
- color: rgba(0, 0, 0, 0.6);
514
- font-weight: 400;
515
- font-size: 14px;
516
- max-width: 250px;
517
- }
518
-
519
- ::ng-deep .mat-checkbox.checkbox-all .mat-checkbox-label {
520
- flex-direction: row;
521
- align-items: center;
522
- column-gap: 4px;
523
- }
524
- ::ng-deep .btn-arrow {
525
- width: 40px;
526
- height: 40px;
527
- line-height: 40px;
528
- }
529
-
530
- .qms-loading-container {
531
- overflow: hidden;
532
- display: grid;
533
- grid-template-rows: repeat(60px);
534
- .qms-loader {
535
- position: relative;
536
- width: 100%;
537
- height: 100%;
538
- padding: 10px 0;
539
- overflow: hidden;
540
- &::after {
541
- content: "";
542
- position: absolute;
543
- width: 100%;
544
- height: 100%;
545
- top: 0;
546
- left: 0;
547
- background: linear-gradient(
548
- 110deg,
549
- rgba(233, 233, 233, 0) 0%,
550
- rgba(227, 227, 227, 0) 40%,
551
- rgba(227, 227, 227, 0.5) 50%,
552
- rgba(227, 227, 227, 0) 60%,
553
- rgba(227, 227, 227, 0) 100%
554
- );
555
- animation: animate-loading 1.2s linear infinite;
556
- }
557
- &__wrapper {
558
- position: relative;
559
- width: 100%;
560
- height: 100%;
561
- .row-loader {
562
- background-color: #eeeeee;
563
- position: absolute;
564
- left: 0;
565
- width: 100%;
566
- height: 40px;
567
- }
568
- }
569
- @keyframes animate-loading {
570
- 0% {
571
- transform: translateX(-100%);
572
- }
573
-
574
- 100% {
575
- transform: translateX(100%);
576
- }
577
- }
578
- }
579
- }
580
-
581
- .qms-spinner {
582
- font-size: 20px;
583
- position: relative;
584
- display: inline-block;
585
- width: 1em;
586
- height: 1em;
587
- &.center {
588
- position: absolute;
589
- left: 0;
590
- right: 0;
591
- top: 0;
592
- bottom: 0;
593
- margin: auto;
594
- }
595
- }
596
- ::ng-deep .mat-progress-spinner circle,
597
- .mat-spinner circle {
598
- stroke: #1b75be !important;
599
- }
600
- // Responsive
601
- @media screen and (max-width: 600px) {
602
- .external-view-node {
603
- flex-basis: 65px !important;
604
- }
605
-
606
- .qms-tree-node.active-external-view .mat-checkbox.qms-group-options {
607
- width: calc(100% - 110px) !important ;
608
- }
609
-
610
- .header-view-tree {
611
- grid-template-columns: 1fr 80px !important;
612
- }
613
-
614
- ::ng-deep .cdk-virtual-scroll-content-wrapper {
615
- right: 0 !important;
616
- }
617
- .header-title {
618
- font-size: 14px !important;
619
- }
620
- .text-name,
621
- .node-external,
622
- .text-label,
623
- .text-label + span {
624
- font-size: 12px;
625
- }
626
- .node-expand-area {
627
- width: 30px !important;
628
- height: 30px !important;
629
- .qms-btn-icon {
630
- width: 30px;
631
- height: 30px;
632
- line-height: 30px;
633
- }
634
- }
635
- .fs-base {
636
- font-size: 12px !important;
637
- }
638
- .qms-select-department-tree-container .breadcrumb-container {
639
- flex-wrap: nowrap !important;
640
- }
641
- ::ng-deep .qms-breadcrumb-item-text {
642
- font-size: 12px !important;
643
- max-width: 175px !important;
644
- }
645
-
646
- ::ng-deep .qms-paginator .mat-paginator-container .qms-total-result {
647
- display: none !important;
648
- }
649
-
650
- ::ng-deep .qms-paginator .size-small .mat-paginator-container {
651
- justify-content: center !important;
652
- }
653
-
654
- .qms-view-search-result__header > .header-title:nth-child(2) {
655
- flex-basis: 120px !important;
656
- }
657
-
658
- .result-item__content .external-name {
659
- flex-basis: 75px !important;
660
- span {
661
- width: 75px !important;
662
- }
663
- }
664
- }
665
-
666
- ::ng-deep .qms-paginator {
667
- margin-top: 0px;
668
- }
669
- }
670
-
671
- .move-location-btn {
672
- display: none;
673
- color: theme-apply($primary);
674
- }
675
-
676
- ::ng-deep .move-location-menu {
677
- .mat-menu-item {
678
- &:hover {
679
- color: theme-apply($primary);
680
- }
681
- }
682
- }
1
+ @import "../../../themes/core/variables";
2
+ @import "../../../themes/theme/variable";
3
+ @import "../../../themes/theme/mixins";
4
+ @import "../../../themes/qms-icon-font";
5
+
6
+ .qms-select-department-tree-container {
7
+ font-family: "Open Sans", sans-serif;
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
+ .h100 {
24
+ height: 100%;
25
+ }
26
+
27
+ .fw500 {
28
+ font-weight: 500 !important;
29
+ }
30
+
31
+ .text-right {
32
+ text-align: right;
33
+ }
34
+
35
+ .mt20 {
36
+ margin-top: 20px;
37
+ }
38
+
39
+ .d-flex {
40
+ display: flex;
41
+ }
42
+
43
+ .align-items-center {
44
+ align-items: center;
45
+ }
46
+
47
+ .justify-content-end {
48
+ justify-content: flex-end;
49
+ }
50
+
51
+ .text-selected {
52
+ color: black(0.6);
53
+ font-size: 12px;
54
+ line-height: 16px;
55
+ margin-top: 1rem;
56
+ }
57
+
58
+ .input-field {
59
+ display: flex;
60
+ align-items: center;
61
+ position: relative;
62
+
63
+ ::ng-deep .mat-form-field-wrapper {
64
+ padding-bottom: 8px !important;
65
+ }
66
+ ::ng-deep .mat-form-field-underline {
67
+ bottom: 8px !important;
68
+ }
69
+
70
+ input.input-search {
71
+ width: 100%;
72
+ padding: 10px;
73
+ outline: none;
74
+ border: none;
75
+ background: theme-apply($background-input-text);
76
+ }
77
+
78
+ .btn-search {
79
+ cursor: pointer;
80
+ vertical-align: middle;
81
+ position: absolute;
82
+ top: 50%;
83
+ right: 10px;
84
+ transform: translateY(-50%);
85
+ }
86
+
87
+ .line__divider {
88
+ border-bottom: 1px solid #ccc;
89
+ height: 1px;
90
+ margin-top: 10px;
91
+ min-width: 300px;
92
+ max-width: 100%;
93
+ }
94
+ }
95
+
96
+ .header-title {
97
+ font-weight: 500;
98
+ color: theme-apply($ws-text-primary);
99
+ font-size: 16px;
100
+ display: flex;
101
+ align-items: center;
102
+ .header-view {
103
+ padding: 4px 0;
104
+ }
105
+ }
106
+
107
+ .sticky-position {
108
+ position: sticky;
109
+ top: 0;
110
+ left: 0;
111
+ z-index: 1;
112
+ background: #ffffff;
113
+ }
114
+
115
+ .header-view-tree {
116
+ display: grid;
117
+ grid-template-columns: 1fr 200px;
118
+ column-gap: 2px;
119
+ padding: 4px 12px 4px 0;
120
+ .header-view:nth-child(1) {
121
+ padding-left: 12px;
122
+ }
123
+ }
124
+
125
+ .tree-department-wrapper {
126
+ padding-right: 4px;
127
+ overflow: hidden;
128
+ position: relative;
129
+ transition: height 0.3s ease-in-out;
130
+ .tree-view {
131
+ &.active-mode-external-view {
132
+ width: 100%;
133
+ display: grid;
134
+ grid-template-columns: 1fr 200px;
135
+ column-gap: 2px;
136
+ .tree-view-main {
137
+ & > .separate {
138
+ height: 38px;
139
+ &.h-0 {
140
+ height: 0;
141
+ }
142
+ }
143
+ &:last-child {
144
+ height: 100%;
145
+ padding-left: 4px;
146
+ position: relative;
147
+ &::after {
148
+ position: absolute;
149
+ content: "";
150
+ top: 0;
151
+ bottom: -38px;
152
+ left: 0;
153
+ width: 1px;
154
+ background: rgba(0, 0, 0, 0.12);
155
+ }
156
+ }
157
+ .external-list-item-container {
158
+ .node-external {
159
+ overflow: hidden;
160
+ transition: all 0.1s ease-in-out;
161
+ .node-external-content {
162
+ padding: 5px 15px 5px 15px;
163
+ height: calc(100% - 2px);
164
+ color: theme-apply($default-color);
165
+ font-size: 14px;
166
+ display: flex;
167
+ align-items: center;
168
+ span {
169
+ overflow: hidden;
170
+ text-overflow: ellipsis;
171
+ white-space: nowrap;
172
+ }
173
+ }
174
+ }
175
+ }
176
+ }
177
+ }
178
+ }
179
+ }
180
+
181
+ .mask-overlay {
182
+ z-index: 1000;
183
+ background-color: rgba(34, 33, 33, 0.1);
184
+ position: absolute;
185
+ top: 0;
186
+ left: 0;
187
+ width: 100%;
188
+ height: 100%;
189
+ border-radius: 4px;
190
+ overflow: hidden;
191
+ display: grid;
192
+ place-items: center;
193
+ }
194
+ //Custom tree
195
+ .select-department-tree {
196
+ &
197
+ > .cdk-virtual-scroll-orientation-vertical
198
+ .cdk-virtual-scroll-content-wrapper {
199
+ padding: 0 4px !important;
200
+ }
201
+ .qms-tree-node {
202
+ display: flex;
203
+ align-items: center;
204
+ border-radius: 4px;
205
+ &:hover {
206
+ background-color: rgba(0, 0, 0, 0.08);
207
+ }
208
+ & > .node-expand-area {
209
+ width: 48px;
210
+ height: 48px;
211
+ position: relative;
212
+ }
213
+ &.active-external-view {
214
+ .mat-checkbox.qms-group-options {
215
+ width: calc(100% - 250px);
216
+ }
217
+ }
218
+ &.node-loading {
219
+ background: theme-apply($primary-light-6-opacity);
220
+ }
221
+ & > .external-view-node {
222
+ flex-basis: 200px;
223
+ overflow: hidden;
224
+ .node-external {
225
+ overflow: hidden;
226
+ transition: all 0.1s ease-in-out;
227
+ display: block;
228
+ .node-external-content {
229
+ padding: 5px 15px 5px 15px;
230
+ height: calc(100% - 2px);
231
+ color: theme-apply($default-color);
232
+ font-size: 14px;
233
+ display: flex;
234
+ align-items: center;
235
+ span {
236
+ overflow: hidden;
237
+ text-overflow: ellipsis;
238
+ white-space: nowrap;
239
+ }
240
+ }
241
+ }
242
+ }
243
+ &.expand-node {
244
+ color: theme-apply($primary);
245
+ &:hover {
246
+ background: theme-apply($primary-light-6-opacity);
247
+ }
248
+
249
+ &:active {
250
+ background: theme-apply($primary-light-12-opacity);
251
+ }
252
+
253
+ .mat-icon {
254
+ color: theme-apply($primary);
255
+ }
256
+ }
257
+ .node-without-checkbox {
258
+ cursor: pointer;
259
+ width: 100%;
260
+ display: flex;
261
+ justify-content: space-between;
262
+ align-items: center;
263
+ .mat-icon {
264
+ color: theme-apply($primary);
265
+ margin-right: 4px;
266
+ }
267
+ }
268
+ &.selected-theme {
269
+ background: theme-apply($primary-light-12-opacity);
270
+ }
271
+
272
+ &.mat-tree-node-disabled-all {
273
+ cursor: default !important;
274
+ pointer-events: none;
275
+ user-select: none;
276
+
277
+ button.mat-button-disabled,
278
+ .mat-icon-rtl-mirror,
279
+ .type-icon {
280
+ color: black(0.38);
281
+ }
282
+
283
+ .text-name {
284
+ &.disabled {
285
+ color: black(0.38);
286
+ cursor: default !important;
287
+ pointer-events: none;
288
+ user-select: none;
289
+ }
290
+ }
291
+
292
+ &.active {
293
+ background-color: transparent;
294
+ }
295
+ }
296
+
297
+ &.move-location-mode {
298
+ &:hover,
299
+ &:active {
300
+ .move-location-btn {
301
+ display: block;
302
+ }
303
+ }
304
+ }
305
+ }
306
+ }
307
+ .text-name {
308
+ position: relative;
309
+ overflow: hidden;
310
+ text-overflow: ellipsis;
311
+ display: -webkit-box;
312
+ -webkit-line-clamp: 2;
313
+ -webkit-box-orient: vertical;
314
+ cursor: pointer;
315
+ width: 100%;
316
+ }
317
+
318
+ .cursor-pointer {
319
+ cursor: pointer;
320
+ }
321
+
322
+ .ml5 {
323
+ margin-left: 15px !important;
324
+ }
325
+ .pl-10 {
326
+ padding-left: 10px;
327
+ }
328
+
329
+ ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row {
330
+ .mat-checkbox-layout {
331
+ white-space: normal;
332
+ }
333
+
334
+ .node-text {
335
+ & > span {
336
+ display: block;
337
+ }
338
+ }
339
+
340
+ .mat-checkbox-label {
341
+ flex-direction: row;
342
+ align-items: center;
343
+ position: relative;
344
+ padding-bottom: 2px;
345
+ }
346
+ }
347
+
348
+ .qms-view-search-result {
349
+ width: 100%;
350
+ overflow: hidden;
351
+ &__header {
352
+ position: relative;
353
+ &::after {
354
+ position: absolute;
355
+ content: "";
356
+ bottom: 0;
357
+ left: 0;
358
+ width: 100%;
359
+ height: 1px;
360
+ background-color: black(0.1);
361
+ }
362
+ .header-title {
363
+ padding: 8px 0;
364
+ display: inline-block;
365
+ &:nth-child(1) {
366
+ padding-left: 12px;
367
+ }
368
+ &:nth-child(2) {
369
+ flex-basis: 200px;
370
+ }
371
+ }
372
+ }
373
+ & > .no-result {
374
+ height: 100%;
375
+ display: flex;
376
+ justify-content: center;
377
+ align-items: center;
378
+ }
379
+ &__wrapper {
380
+ height: calc(100% - 50px);
381
+ &.active-external {
382
+ height: calc(100% - 90px) !important;
383
+ }
384
+ width: 100%;
385
+ .result {
386
+ max-height: 100%;
387
+ overflow-y: auto;
388
+ margin-bottom: 4px;
389
+ padding-right: 4px;
390
+ &.active-paging {
391
+ max-height: calc(100% - 40px);
392
+ }
393
+ }
394
+ .result-item {
395
+ border-radius: 4px;
396
+ display: grid;
397
+ grid-template-columns: 45px 1fr;
398
+ align-items: center;
399
+ cursor: pointer;
400
+ transition: background 0.3s ease;
401
+ min-height: 40px;
402
+ &:not(:nth-child(1)) {
403
+ margin-top: 4px !important;
404
+ }
405
+ &:hover {
406
+ background: linear-gradient(
407
+ 0deg,
408
+ rgba(1, 99, 178, 0.12),
409
+ rgba(1, 99, 178, 0.12)
410
+ ),
411
+ #ffffff;
412
+
413
+ .move-location-btn {
414
+ display: block;
415
+ }
416
+ }
417
+ &.active {
418
+ background: linear-gradient(
419
+ 0deg,
420
+ rgba(1, 99, 178, 0.12),
421
+ rgba(1, 99, 178, 0.12)
422
+ ),
423
+ #ffffff;
424
+ }
425
+
426
+ &.no-checkbox {
427
+ grid-template-columns: 1fr;
428
+ }
429
+
430
+ &__content {
431
+ display: flex;
432
+ align-items: center;
433
+ .item-result-content-wraper {
434
+ padding: 5px 15px 5px 15px;
435
+ width: 100%;
436
+ }
437
+ .external-name {
438
+ flex-basis: 200px;
439
+ span {
440
+ width: 200px;
441
+ display: inline-block;
442
+ }
443
+ }
444
+ }
445
+ }
446
+ }
447
+ ::ng-deep .mat-checkbox.qms-group-options {
448
+ display: flex;
449
+ height: 100%;
450
+ }
451
+ }
452
+
453
+ ::ng-deep .breadcrumb-container {
454
+ flex-wrap: wrap;
455
+ }
456
+ ::ng-deep .mat-button-focus-overlay {
457
+ background-color: transparent;
458
+ }
459
+
460
+ ::ng-deep .qms-breadcrumb-item {
461
+ margin: 0;
462
+ }
463
+
464
+ ::ng-deep .qms-breadcrumb-item-text {
465
+ white-space: nowrap;
466
+ &:not(:last-child) {
467
+ max-width: 150px !important;
468
+ }
469
+ text-overflow: ellipsis;
470
+ overflow: hidden;
471
+ transition: color 0.3s ease;
472
+ &:not(:last-child):hover {
473
+ // color : theme-apply($primary)
474
+ }
475
+ }
476
+
477
+ ::ng-deep .qms-paginator {
478
+ .mat-paginator-container .qms-total-result {
479
+ margin-bottom: 0;
480
+ margin-right: 12px;
481
+ height: 100%;
482
+ display: flex;
483
+ align-items: center;
484
+ span {
485
+ font-weight: 600;
486
+ color: black(0.8);
487
+ }
488
+ }
489
+ .mat-paginator-container .qms-paginator-range-actions {
490
+ margin-bottom: 0;
491
+ column-gap: 2px;
492
+ & > .qms-total-result {
493
+ margin-bottom: 0;
494
+ }
495
+ }
496
+ .mat-form-field-wrapper {
497
+ padding-bottom: 0;
498
+ }
499
+ .qms-paginator-page-size {
500
+ align-items: center;
501
+ }
502
+ }
503
+
504
+ .text-gray {
505
+ color: #242424;
506
+ }
507
+
508
+ .mb0 {
509
+ margin-bottom: 0 !important;
510
+ }
511
+
512
+ .fs-base {
513
+ font-size: 14px !important;
514
+ }
515
+
516
+ .user-select-none {
517
+ user-select: none;
518
+ }
519
+
520
+ .item-breadcrumb-disable {
521
+ cursor: not-allowed;
522
+ color: rgba(0, 0, 0, 0.6);
523
+ font-weight: 400;
524
+ font-size: 14px;
525
+ max-width: 250px;
526
+ }
527
+
528
+ ::ng-deep .mat-checkbox.checkbox-all .mat-checkbox-label {
529
+ flex-direction: row;
530
+ align-items: center;
531
+ column-gap: 4px;
532
+ }
533
+ ::ng-deep .btn-arrow {
534
+ width: 40px;
535
+ height: 40px;
536
+ line-height: 40px;
537
+ }
538
+
539
+ .qms-loading-container {
540
+ overflow: hidden;
541
+ display: grid;
542
+ grid-template-rows: repeat(60px);
543
+ .qms-loader {
544
+ position: relative;
545
+ width: 100%;
546
+ height: 100%;
547
+ padding: 10px 0;
548
+ overflow: hidden;
549
+ &::after {
550
+ content: "";
551
+ position: absolute;
552
+ width: 100%;
553
+ height: 100%;
554
+ top: 0;
555
+ left: 0;
556
+ background: linear-gradient(
557
+ 110deg,
558
+ rgba(233, 233, 233, 0) 0%,
559
+ rgba(227, 227, 227, 0) 40%,
560
+ rgba(227, 227, 227, 0.5) 50%,
561
+ rgba(227, 227, 227, 0) 60%,
562
+ rgba(227, 227, 227, 0) 100%
563
+ );
564
+ animation: animate-loading 1.2s linear infinite;
565
+ }
566
+ &__wrapper {
567
+ position: relative;
568
+ width: 100%;
569
+ height: 100%;
570
+ .row-loader {
571
+ background-color: #eeeeee;
572
+ position: absolute;
573
+ left: 0;
574
+ width: 100%;
575
+ height: 40px;
576
+ }
577
+ }
578
+ @keyframes animate-loading {
579
+ 0% {
580
+ transform: translateX(-100%);
581
+ }
582
+
583
+ 100% {
584
+ transform: translateX(100%);
585
+ }
586
+ }
587
+ }
588
+ }
589
+
590
+ .qms-spinner {
591
+ font-size: 20px;
592
+ position: relative;
593
+ display: inline-block;
594
+ width: 1em;
595
+ height: 1em;
596
+ &.center {
597
+ position: absolute;
598
+ left: 0;
599
+ right: 0;
600
+ top: 0;
601
+ bottom: 0;
602
+ margin: auto;
603
+ }
604
+ }
605
+ ::ng-deep .mat-progress-spinner circle,
606
+ .mat-spinner circle {
607
+ stroke: #1b75be !important;
608
+ }
609
+ // Responsive
610
+ @media screen and (max-width: 600px) {
611
+ .external-view-node {
612
+ flex-basis: 65px !important;
613
+ }
614
+
615
+ .qms-tree-node.active-external-view .mat-checkbox.qms-group-options {
616
+ width: calc(100% - 110px) !important ;
617
+ }
618
+
619
+ .header-view-tree {
620
+ grid-template-columns: 1fr 80px !important;
621
+ }
622
+
623
+ ::ng-deep .cdk-virtual-scroll-content-wrapper {
624
+ right: 0 !important;
625
+ }
626
+ .header-title {
627
+ font-size: 14px !important;
628
+ }
629
+ .text-name,
630
+ .node-external,
631
+ .text-label,
632
+ .text-label + span {
633
+ font-size: 12px;
634
+ }
635
+ .node-expand-area {
636
+ width: 30px !important;
637
+ height: 30px !important;
638
+ .qms-btn-icon {
639
+ width: 30px;
640
+ height: 30px;
641
+ line-height: 30px;
642
+ }
643
+ }
644
+ .fs-base {
645
+ font-size: 12px !important;
646
+ }
647
+ .qms-select-department-tree-container .breadcrumb-container {
648
+ flex-wrap: nowrap !important;
649
+ }
650
+ ::ng-deep .qms-breadcrumb-item-text {
651
+ font-size: 12px !important;
652
+ max-width: 175px !important;
653
+ }
654
+
655
+ ::ng-deep .qms-paginator .mat-paginator-container .qms-total-result {
656
+ display: none !important;
657
+ }
658
+
659
+ ::ng-deep .qms-paginator .size-small .mat-paginator-container {
660
+ justify-content: center !important;
661
+ }
662
+
663
+ .qms-view-search-result__header > .header-title:nth-child(2) {
664
+ flex-basis: 120px !important;
665
+ }
666
+
667
+ .result-item__content .external-name {
668
+ flex-basis: 75px !important;
669
+ span {
670
+ width: 75px !important;
671
+ }
672
+ }
673
+ }
674
+
675
+ ::ng-deep .qms-paginator {
676
+ margin-top: 0px;
677
+ }
678
+ }
679
+
680
+ .move-location-btn {
681
+ display: none;
682
+ color: theme-apply($primary);
683
+ }
684
+
685
+ ::ng-deep .move-location-menu {
686
+ .mat-menu-item {
687
+ &:hover {
688
+ color: theme-apply($primary);
689
+ }
690
+ }
691
+ }