jobdone-shared-files 1.0.23 → 1.0.30

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 (34) hide show
  1. package/ProjectManagement/projectNavbar.vue +363 -363
  2. package/ProjectManagement/projectNavbarV2.vue +362 -0
  3. package/README.md +2 -2
  4. package/autocompleteSelect.vue +461 -461
  5. package/common/directives/collapse.js +12 -12
  6. package/common/directives/popovers.js +10 -10
  7. package/common/directives/selectPlaceholder.js +52 -52
  8. package/common/directives/textareaAutoHeight.js +10 -10
  9. package/common/directives/tooltip.js +10 -10
  10. package/common/format.js +26 -26
  11. package/index.js +14 -14
  12. package/lightboxWithOverview.vue +156 -156
  13. package/package.json +19 -19
  14. package/paginate.vue +141 -141
  15. package/style/css/vue-loading-overlay/index.css +40 -40
  16. package/style/scss/Common/Animation.scss +9 -9
  17. package/style/scss/Common/SelectableTable.scss +36 -36
  18. package/style/scss/Common/filepond.scss +31 -31
  19. package/style/scss/Common/thumbnail-group.scss +14 -14
  20. package/style/scss/Layout/LayoutBase.scss +1032 -1032
  21. package/style/scss/Layout/LayoutInnerColumn.scss +264 -0
  22. package/style/scss/Layout/LayoutProject.scss +126 -126
  23. package/style/scss/Layout/LayoutSinglePage.scss +17 -17
  24. package/style/scss/Layout/LayoutTwoColumn.scss +60 -60
  25. package/style/scss/Settings/_Mixins.scss +232 -232
  26. package/style/scss/Settings/_MobileVariables.scss +11 -11
  27. package/style/scss/Settings/_bs-variables-dark.scss +70 -70
  28. package/style/scss/Settings/_bs-variables.scss +1743 -1743
  29. package/style/scss/Settings/_color-mode.scss +122 -122
  30. package/style/scss/Settings/_custom-variables.scss +10 -10
  31. package/tagEditor.vue +249 -249
  32. package/tree.vue +71 -71
  33. package/treeItem.vue +358 -358
  34. package/vueLoadingOverlay.vue +74 -74
@@ -0,0 +1,264 @@
1
+ @import "../../../../bootstrap/scss/functions";
2
+ @import "../Settings/bs-variables";
3
+ @import "../../../../bootstrap/scss/mixins";
4
+ @import "../Settings/custom-variables";
5
+ @import "../Settings/Mixins";
6
+ .main-content {
7
+ display: flex;
8
+ height: 100%;
9
+ width: 100%;
10
+ .sidebar-content, .detail-content {
11
+ border-radius: 0.25rem;
12
+ border-bottom-left-radius: 0;
13
+ border-bottom-right-radius: 0;
14
+ }
15
+ .sidebar-content {
16
+ flex-basis: 250px;
17
+ margin-right: 0.75rem;
18
+ height: 100%;
19
+
20
+ }
21
+ .detail-content {
22
+ flex-grow: 1;
23
+ flex-shrink: 1;
24
+ flex-basis: 500px;
25
+ .title-nav {
26
+ display: flex;
27
+ align-items: center;
28
+ position: sticky;
29
+ top: 0;
30
+ z-index: $zindex-sticky + 2;
31
+ height: 2.75rem;
32
+ }
33
+ }
34
+ }
35
+
36
+ .form-filter-input{
37
+ min-width: 18rem !important;
38
+ }
39
+
40
+ #col-main{
41
+ display: flex;
42
+ flex-direction: column;
43
+ height: 100%;
44
+ width: 100%;
45
+ .main-content{
46
+ height: auto;
47
+ overflow: hidden;
48
+ }
49
+ }
50
+
51
+ .sidebar-content{
52
+ .thead-sidebar{
53
+ top: calc( -0.5rem - #{$border-width} );
54
+ }
55
+ .table {
56
+ tbody {
57
+ .th-num {
58
+ @include tableTdNum();
59
+ }
60
+ tr {
61
+ cursor: pointer;
62
+ &.is-edit{
63
+ cursor: auto;
64
+ }
65
+ &.disabled, &:disabled{
66
+ cursor: not-allowed;
67
+ }
68
+ &.disabled, &:disabled, &.is-edit{
69
+ th, td{
70
+ color: $gray-500;
71
+ }
72
+ &.clicked th, &.clicked td{
73
+ background-color: $gray-200;
74
+ color: $gray-600;
75
+ }
76
+
77
+ &.clicked td:nth-last-child(1){
78
+ &:nth-last-child(1):after{
79
+ background-color: $gray-600;
80
+ }
81
+ }
82
+ }
83
+ }
84
+ .clicked {
85
+ th,
86
+ td {
87
+ background-color: rgba($primary, 0.1);
88
+ color: $primary;
89
+ }
90
+ td:nth-last-child(1) {
91
+ position: relative;
92
+ &:after {
93
+ content: "";
94
+ position: absolute;
95
+ height: 100%;
96
+ width: 0.25rem;
97
+ right: 0;
98
+ top: 0;
99
+ z-index: 1;
100
+ background-color: $primary;
101
+ }
102
+ }
103
+ }
104
+ }
105
+ }
106
+ }
107
+
108
+ .fs-7 {
109
+ font-size: 0.85rem;
110
+ }
111
+
112
+
113
+ $w-shadow: 10px;
114
+
115
+ .th-shadow-end, .th-shadow-start{
116
+ position: relative;
117
+ &:after {
118
+ content: "";
119
+ display: block;
120
+ position: absolute;
121
+ top: 0;
122
+ bottom: 0;
123
+ width: $w-shadow;
124
+ pointer-events: none;
125
+ }
126
+
127
+ }
128
+ .th-shadow-end{
129
+ &:after {
130
+ right: -$w-shadow;
131
+ background: linear-gradient(90deg, rgba($primary, 0.1) 0%, rgba($primary, 0) 100%);
132
+ }
133
+ }
134
+ .th-shadow-start{
135
+ &:after{
136
+ left: -$w-shadow;
137
+ background: linear-gradient(90deg, rgba($primary, 0) 0%, rgba($primary, 0.1) 100%);
138
+ }
139
+ }
140
+
141
+
142
+ .th-num, .th-code, .th-name, .th-end {
143
+ position: sticky;
144
+ z-index: $zindex-dropdown + 1;
145
+ }
146
+
147
+ .th-num {
148
+ left: 0;
149
+ }
150
+
151
+ .th-code {
152
+ left: 39px;
153
+ }
154
+
155
+ .th-name{
156
+ left: 166px;
157
+ > div{
158
+ display: flex;
159
+ }
160
+ }
161
+
162
+ .th-end{
163
+ right: 0;
164
+ }
165
+
166
+ .title-nav, .nav-paginate{
167
+ position: sticky;
168
+ top: 0;
169
+ left: 0;
170
+ }
171
+
172
+ .btn-more{
173
+ transition: .5s;
174
+ }
175
+
176
+ .text-title:not(.text-line-clamp-1){
177
+ + .btn-more{
178
+ transform: rotate(-180deg);
179
+ }
180
+ }
181
+
182
+
183
+ // TODO: 統一 UI
184
+ $check-full-width: 23rem;
185
+ .check-btn{
186
+ position: relative;
187
+ display: inline-block;
188
+ margin: 1rem;
189
+ .check-btn-label{
190
+ width: $check-full-width;
191
+ padding: 1rem 1rem;
192
+ color: var(--gray-500);
193
+ border: $border-width solid $border-color;
194
+ border-radius: $border-radius;
195
+ text-align: center;
196
+ cursor: pointer;
197
+ transition: $transition-base;
198
+ &:hover{
199
+ color: $info;
200
+ border-color: $info;
201
+ background-color: $table-hover-bg;
202
+ }
203
+ &.check-btn-label-lg{
204
+ padding: 2rem 1rem;
205
+ width: 10.5rem;
206
+ }
207
+ }
208
+ .material-icons{
209
+ font-size: 4rem;
210
+ }
211
+ input[type="checkbox"], input[type="radio"]{
212
+ position: absolute;
213
+ pointer-events: none;
214
+ @include size(0);
215
+ opacity: 0;
216
+ &:checked ~ .check-btn-label{
217
+ color: $primary;
218
+ border-color: $primary;
219
+ background-color: $table-hover-bg;
220
+
221
+ }
222
+ }
223
+ }
224
+
225
+ .list-group-flush{
226
+ --bs-list-group-bg: transparent;
227
+ }
228
+
229
+
230
+
231
+
232
+ .modal-belong-options{
233
+ .content-options, .content-items{
234
+ padding: .5rem;
235
+ background-color: $gray-600;
236
+ }
237
+ .content-options{
238
+ padding-bottom: 0;
239
+ }
240
+ .content-items{
241
+ $line-h: 1.5rem;
242
+ position: relative;
243
+ padding-left: 2.25rem;
244
+ .overflow-y-auto{
245
+ height: 62vh;
246
+ }
247
+ &:before, &:after{
248
+ content: "";
249
+ position: absolute;
250
+ }
251
+ &:before{
252
+ left: 1.5rem;
253
+ top: 0;
254
+ height: $line-h;
255
+ border-left: 4px solid $gray-500;
256
+ }
257
+ &:after{
258
+ left: 1.5rem;
259
+ top: $line-h;
260
+ width: .7rem;
261
+ border-top: 4px solid $gray-500;
262
+ }
263
+ }
264
+ }
@@ -1,126 +1,126 @@
1
- @import "../../../../bootstrap/scss/functions";
2
- @import "../Settings/bs-variables";
3
- @import "../../../../bootstrap/scss/mixins";
4
- @import "../Settings/custom-variables";
5
- @import "../Settings/Mixins";
6
-
7
- html, body, #app{
8
- height: 100%;
9
- }
10
-
11
- #app{
12
- display: flex;
13
- flex-direction: column;
14
- }
15
-
16
- body{
17
- background-color: var(--gray-300);
18
- }
19
-
20
-
21
-
22
- // 兩欄開合 UI
23
-
24
- #col-aside:has(label[for="toggle-aside"]:hover){
25
- will-change: margin-left;
26
- ~ #col-main{
27
- will-change: width;
28
- }
29
- }
30
-
31
-
32
- .content-2-column{
33
- position: relative;
34
- display: flex;
35
- flex-grow: 1;
36
- overflow: hidden;
37
- z-index: 1;
38
- }
39
-
40
- #col-aside, #col-main{
41
- height: 100%;
42
- overflow-y: auto;
43
- @include scrollbar();
44
- }
45
-
46
-
47
- $aside-w: 16.25rem;
48
- $aside-close-w: 2.5rem;
49
- $aside-transition: .5s;
50
- #col-aside{
51
- @include solid-size($aside-w, auto);
52
- background-color: var(--gray-100);
53
- transition: $aside-transition;
54
- }
55
-
56
- #col-main{
57
- flex-grow: 1;
58
- transition: $aside-transition;
59
- }
60
-
61
- .toggler-open{
62
- padding: 0.5rem;
63
- background-color: var(--gray-200);
64
- > label[for="toggle-aside"]{
65
- cursor: pointer;
66
- }
67
- > label[for="toggle-aside"]:hover{
68
- .material-icons{
69
- color: var(--bs-primary);
70
- }
71
- .toggler-open-text{
72
- color: rgba(var(--bs-link-color-rgb), 0.5);
73
- }
74
- }
75
-
76
- .toggler-open-text, .material-icons{
77
- transition: $transition-base;
78
- }
79
- .material-icons{
80
- color: var(--gray-600);
81
- margin-right: 0.2rem;
82
- margin-left: 0.5rem;
83
- }
84
- }
85
-
86
- .toggler-text{
87
- color: var(--gray-500);
88
- }
89
-
90
- .content-menu{
91
- position: relative;
92
- }
93
-
94
- .toggler-close{
95
- display: none;
96
- position: absolute;
97
- top: 0;
98
- right: 0;
99
- width: $aside-close-w;
100
- text-align: center;
101
- padding: .5rem;
102
- line-height: 1.25;
103
- cursor: pointer;
104
- transition: $aside-transition;
105
- .toggler-close-text:hover{
106
- color: rgba(var(--bs-link-color-rgb), 0.5);
107
- }
108
- }
109
-
110
- #toggle-aside:checked{
111
- ~ #col-aside{
112
- margin-left: -$aside-w + $aside-close-w;
113
- .toggler-open-text, nav{
114
- display: none;
115
- }
116
- .toggler-close{
117
- display: block;
118
- }
119
- }
120
- }
121
-
122
- .thead-sticky{
123
- position: sticky;
124
- top: 2.7rem;
125
- z-index: $zindex-dropdown + 2;
126
- }
1
+ @import "../../../../bootstrap/scss/functions";
2
+ @import "../Settings/bs-variables";
3
+ @import "../../../../bootstrap/scss/mixins";
4
+ @import "../Settings/custom-variables";
5
+ @import "../Settings/Mixins";
6
+
7
+ html, body, #app{
8
+ height: 100%;
9
+ }
10
+
11
+ #app{
12
+ display: flex;
13
+ flex-direction: column;
14
+ }
15
+
16
+ body{
17
+ background-color: var(--gray-300);
18
+ }
19
+
20
+
21
+
22
+ // 兩欄開合 UI
23
+
24
+ #col-aside:has(label[for="toggle-aside"]:hover){
25
+ will-change: margin-left;
26
+ ~ #col-main{
27
+ will-change: width;
28
+ }
29
+ }
30
+
31
+
32
+ .content-2-column{
33
+ position: relative;
34
+ display: flex;
35
+ flex-grow: 1;
36
+ overflow: hidden;
37
+ z-index: 1;
38
+ }
39
+
40
+ #col-aside, #col-main{
41
+ height: 100%;
42
+ overflow-y: auto;
43
+ @include scrollbar();
44
+ }
45
+
46
+
47
+ $aside-w: 16.25rem;
48
+ $aside-close-w: 2.5rem;
49
+ $aside-transition: .5s;
50
+ #col-aside{
51
+ @include solid-size($aside-w, auto);
52
+ background-color: var(--gray-100);
53
+ transition: $aside-transition;
54
+ }
55
+
56
+ #col-main{
57
+ flex-grow: 1;
58
+ transition: $aside-transition;
59
+ }
60
+
61
+ .toggler-open{
62
+ padding: 0.5rem;
63
+ background-color: var(--gray-200);
64
+ > label[for="toggle-aside"]{
65
+ cursor: pointer;
66
+ }
67
+ > label[for="toggle-aside"]:hover{
68
+ .material-icons{
69
+ color: var(--bs-primary);
70
+ }
71
+ .toggler-open-text{
72
+ color: rgba(var(--bs-link-color-rgb), 0.5);
73
+ }
74
+ }
75
+
76
+ .toggler-open-text, .material-icons{
77
+ transition: $transition-base;
78
+ }
79
+ .material-icons{
80
+ color: var(--gray-600);
81
+ margin-right: 0.2rem;
82
+ margin-left: 0.5rem;
83
+ }
84
+ }
85
+
86
+ .toggler-text{
87
+ color: var(--gray-500);
88
+ }
89
+
90
+ .content-menu{
91
+ position: relative;
92
+ }
93
+
94
+ .toggler-close{
95
+ display: none;
96
+ position: absolute;
97
+ top: 0;
98
+ right: 0;
99
+ width: $aside-close-w;
100
+ text-align: center;
101
+ padding: .5rem;
102
+ line-height: 1.25;
103
+ cursor: pointer;
104
+ transition: $aside-transition;
105
+ .toggler-close-text:hover{
106
+ color: rgba(var(--bs-link-color-rgb), 0.5);
107
+ }
108
+ }
109
+
110
+ #toggle-aside:checked{
111
+ ~ #col-aside{
112
+ margin-left: -$aside-w + $aside-close-w;
113
+ .toggler-open-text, nav{
114
+ display: none;
115
+ }
116
+ .toggler-close{
117
+ display: block;
118
+ }
119
+ }
120
+ }
121
+
122
+ .thead-sticky{
123
+ position: sticky;
124
+ top: 2.7rem;
125
+ z-index: $zindex-dropdown + 2;
126
+ }
@@ -1,18 +1,18 @@
1
- @import "../../../../bootstrap/scss/functions";
2
- @import "../Settings/bs-variables";
3
- @import "../../../../bootstrap/scss/mixins";
4
- @import "../Settings/custom-variables";
5
- @import "../Settings/Mixins";
6
- html{
7
- background:
8
- linear-gradient(138deg, rgba(100, 148, 241, 0.05) 26.2%, rgba(165, 185, 255, 0.29) 88.06%),
9
- var(--gray-000);
10
- background-repeat: no-repeat;
11
- min-height: 100%;
12
- }
13
-
14
- body{
15
- @include flex-center();
16
- background: transparent;
17
- min-height: 100%;
1
+ @import "../../../../bootstrap/scss/functions";
2
+ @import "../Settings/bs-variables";
3
+ @import "../../../../bootstrap/scss/mixins";
4
+ @import "../Settings/custom-variables";
5
+ @import "../Settings/Mixins";
6
+ html{
7
+ background:
8
+ linear-gradient(138deg, rgba(100, 148, 241, 0.05) 26.2%, rgba(165, 185, 255, 0.29) 88.06%),
9
+ var(--gray-000);
10
+ background-repeat: no-repeat;
11
+ min-height: 100%;
12
+ }
13
+
14
+ body{
15
+ @include flex-center();
16
+ background: transparent;
17
+ min-height: 100%;
18
18
  }
@@ -1,60 +1,60 @@
1
- @import "../../../../bootstrap/scss/functions";
2
- @import "../Settings/bs-variables";
3
- @import "../../../../bootstrap/scss/mixins";
4
- @import "../Settings/custom-variables";
5
- @import "../Settings/Mixins";
6
- html, body, #app.layout-two-column,
7
- #col-aside, #col-main{
8
- height: 100%;
9
- }
10
-
11
- body, #app.layout-two-column{
12
- overflow: hidden;
13
- }
14
-
15
- #app.layout-two-column{
16
- display: flex;
17
- flex-direction: row-reverse;
18
- }
19
-
20
- #col-aside, #col-main{
21
- overflow: hidden;
22
- transition: all .5s ease-in-out;
23
- }
24
-
25
-
26
- $aside-w: 18rem;
27
- #col-aside{
28
- display: flex;
29
- flex-direction: column;
30
- @include solid-size($aside-w, auto);
31
- background-color: var(--gray-200);
32
- border-right: $border-width solid var(--bs-border-color);
33
- }
34
-
35
- #col-main{
36
- flex-grow: 1;
37
- background-color: var(--gray-400);
38
- @include scrollbar();
39
- }
40
-
41
-
42
- // navbar 開關 ------------------------------------------
43
- #col-main:has(label[for="toggle-aside"]:hover){
44
- will-change: width;
45
- ~ #col-aside{
46
- will-change: margin-left;
47
- }
48
- }
49
-
50
- #toggle-aside:checked{
51
- ~ #col-aside{
52
- margin-left: -$aside-w;
53
- }
54
- ~ #col-main{
55
- label[for="toggle-aside"] .material-icons{
56
- transform: rotate(180deg);
57
- }
58
- }
59
- }
60
- // navbar 開關 ------------------------------------------
1
+ @import "../../../../bootstrap/scss/functions";
2
+ @import "../Settings/bs-variables";
3
+ @import "../../../../bootstrap/scss/mixins";
4
+ @import "../Settings/custom-variables";
5
+ @import "../Settings/Mixins";
6
+ html, body, #app.layout-two-column,
7
+ #col-aside, #col-main{
8
+ height: 100%;
9
+ }
10
+
11
+ body, #app.layout-two-column{
12
+ overflow: hidden;
13
+ }
14
+
15
+ #app.layout-two-column{
16
+ display: flex;
17
+ flex-direction: row-reverse;
18
+ }
19
+
20
+ #col-aside, #col-main{
21
+ overflow: hidden;
22
+ transition: all .5s ease-in-out;
23
+ }
24
+
25
+
26
+ $aside-w: 18rem;
27
+ #col-aside{
28
+ display: flex;
29
+ flex-direction: column;
30
+ @include solid-size($aside-w, auto);
31
+ background-color: var(--gray-200);
32
+ border-right: $border-width solid var(--bs-border-color);
33
+ }
34
+
35
+ #col-main{
36
+ flex-grow: 1;
37
+ background-color: var(--gray-400);
38
+ @include scrollbar();
39
+ }
40
+
41
+
42
+ // navbar 開關 ------------------------------------------
43
+ #col-main:has(label[for="toggle-aside"]:hover){
44
+ will-change: width;
45
+ ~ #col-aside{
46
+ will-change: margin-left;
47
+ }
48
+ }
49
+
50
+ #toggle-aside:checked{
51
+ ~ #col-aside{
52
+ margin-left: -$aside-w;
53
+ }
54
+ ~ #col-main{
55
+ label[for="toggle-aside"] .material-icons{
56
+ transform: rotate(180deg);
57
+ }
58
+ }
59
+ }
60
+ // navbar 開關 ------------------------------------------