jobdone-shared-files 0.0.1-beta.80 → 0.0.1-beta.82

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/ProjectManagement/projectNavbar.vue +116 -84
  2. package/README.md +1 -0
  3. package/common/directives/collapse.js +12 -12
  4. package/common/directives/popovers.js +10 -10
  5. package/common/directives/tooltip.js +10 -10
  6. package/common/format.js +26 -26
  7. package/index.js +14 -14
  8. package/lightboxWithOverview.vue +131 -131
  9. package/package.json +19 -19
  10. package/paginate.vue +138 -138
  11. package/style/css/vue-loading-overlay/index.css +40 -40
  12. package/style/scss/Common/Animation.scss +5 -5
  13. package/style/scss/Common/SelectableTable.scss +30 -30
  14. package/style/scss/Common/filepond.scss +27 -27
  15. package/style/scss/Common/thumbnail-group.scss +14 -14
  16. package/style/scss/Layout/LayoutBase.scss +1014 -1014
  17. package/style/scss/Layout/LayoutMobile.scss +202 -202
  18. package/style/scss/Layout/LayoutProject.scss +122 -122
  19. package/style/scss/Layout/LayoutSinglePage.scss +13 -13
  20. package/style/scss/Layout/LayoutTwoColumn.scss +56 -56
  21. package/style/scss/Settings/_Mixins.scss +229 -229
  22. package/style/scss/Settings/_MobileVariables.scss +11 -11
  23. package/style/scss/Settings/_basic-import.scss +5 -5
  24. package/style/scss/Settings/_bs-variables-dark.scss +70 -70
  25. package/style/scss/Settings/_bs-variables.scss +1743 -1743
  26. package/style/scss/Settings/_color-mode.scss +122 -122
  27. package/style/scss/Settings/_custom-variables.scss +13 -13
  28. package/tagEditor.vue +263 -263
  29. package/tree.vue +69 -69
  30. package/treeItem.vue +366 -366
  31. package/vueLoadingOverlay.vue +70 -70
  32. package/.vs/VSWorkspaceState.json +0 -6
  33. package/.vs/jobdone_sharejs/FileContentIndex/a973f22d-a16a-4ca9-ab6a-75ab92ec6af7.vsidx +0 -0
  34. package/.vs/jobdone_sharejs/FileContentIndex/bacf95a3-2185-41c2-b12a-e93bb40f2204.vsidx +0 -0
  35. package/.vs/jobdone_sharejs/config/applicationhost.config +0 -1021
  36. package/.vs/jobdone_sharejs/v17/.wsuo +0 -0
  37. package/.vs/slnx.sqlite +0 -0
@@ -1,132 +1,132 @@
1
- <template>
2
- <vue-easy-lightbox :visible="lightboxVisibleRef" :imgs="picturesData" :index="picturesIndexRef"
3
- @hide="hideLightbox" @on-prev-click="picturesIndexRef--" @on-next-click="picturesIndexRef++"></vue-easy-lightbox>
4
- <div class="lightbox-thumbnail-toolbar text-center overflow-hidden" v-if="lightboxVisibleRef">
5
- <div class="text-nowrap overflow-x-auto pt-3 px-2 pb-1">
6
- <div class="d-inline-block">
7
- <div class="d-inline-block thumbnail-content rounded hover-border"
8
- :class="{'active': index == picturesIndexRef}" :style="'background-image: url(' + item.src +');'"
9
- @click="changePictureIndex(index)" v-for="(item, index) in picturesData"></div>
10
- </div>
11
- </div>
12
- </div>
13
- </template>
14
-
15
- <script>
16
- import { ref, computed } from 'vue';
17
- import VueEasyLightbox from 'vue-easy-lightbox';
18
-
19
- export default {
20
- props: {
21
- previewCount: {
22
- type: Number,
23
- required: false,
24
- default: 5
25
- },
26
- picturesData: {
27
- type: Array,
28
- required: true
29
- },
30
- displayIndex: {
31
- type: Number,
32
- required: false,
33
- default: 0
34
- },
35
- },
36
- components: {
37
- VueEasyLightbox
38
- },
39
- setup(props) {
40
- const previewPictures = computed(() => {
41
- return props.picturesData.slice(0, props.previewCount)
42
- });
43
- const otherPictureCount = computed(() => {
44
- var count = props.picturesData.length - props.previewCount;
45
- return count < 0 ? 0 : count;
46
- });
47
- const lightboxVisibleRef = ref(false);
48
- const picturesIndexRef = ref(props.displayIndex);
49
-
50
- const changePictureIndex = (index) => {
51
- picturesIndexRef.value = index;
52
- };
53
-
54
- const showLightbox = (index) => {
55
- changePictureIndex(index);
56
- lightboxVisibleRef.value = true;
57
- };
58
-
59
- const hideLightbox = () => {
60
- lightboxVisibleRef.value = false;
61
- }
62
-
63
- return {
64
- lightboxVisibleRef,
65
- picturesIndexRef, changePictureIndex,
66
- showLightbox, hideLightbox,
67
- previewCount: props.previewCount,
68
- previewPictures,
69
- otherPictureCount
70
- }
71
- }
72
- }
73
- </script>
74
-
75
- <style scoped lang="scss">
76
- @import "./style/scss/Settings/basic-import";
77
- .hover-border{
78
- transition: $transition-base;
79
- &:hover{
80
- box-shadow: $focus-ring-box-shadow;
81
- }
82
- }
83
-
84
- .vel-modal{
85
- backdrop-filter: var(--backdrop-blur);
86
- }
87
-
88
- .lightbox-thumbnail-toolbar .thumbnail-content{
89
- cursor: pointer;
90
- }
91
-
92
- .lightbox-thumbnail-toolbar{
93
- $padding-x: 10vw;
94
- position: fixed;
95
- top: 0;
96
- left: $padding-x;
97
- right: $padding-x;
98
- margin: auto;
99
- z-index: 10000;
100
- animation: fadeIn .5s;
101
- pointer-events: none;
102
- .overflow-x-auto{
103
- display: inline-block;
104
- max-width: 100%;
105
- pointer-events: auto;
106
- }
107
- .thumbnail-content{
108
- --bs-border-color: rgba(0,0,0, 0.12);
109
- @include solid-size(40px);
110
- filter: brightness(0.5);
111
- transition: $transition-base;
112
- &:not(:last-child){
113
- margin-right: 1rem;
114
- }
115
- &:hover{
116
- filter: brightness(.8);
117
- }
118
- &.active{
119
- filter: brightness(1);
120
- }
121
- &:hover, &.active{
122
- --bs-border-color: rgba(255,255,255, 0.3);
123
- }
124
- }
125
- .hover-border:hover{
126
- box-shadow: 0 0 $focus-ring-blur $focus-ring-width rgba(255,255,255, .25);
127
- }
128
- .overflow-x-auto{
129
- --bs-emphasis-color-rgb: 255, 255, 255;
130
- }
131
- }
1
+ <template>
2
+ <vue-easy-lightbox :visible="lightboxVisibleRef" :imgs="picturesData" :index="picturesIndexRef"
3
+ @hide="hideLightbox" @on-prev-click="picturesIndexRef--" @on-next-click="picturesIndexRef++"></vue-easy-lightbox>
4
+ <div class="lightbox-thumbnail-toolbar text-center overflow-hidden" v-if="lightboxVisibleRef">
5
+ <div class="text-nowrap overflow-x-auto pt-3 px-2 pb-1">
6
+ <div class="d-inline-block">
7
+ <div class="d-inline-block thumbnail-content rounded hover-border"
8
+ :class="{'active': index == picturesIndexRef}" :style="'background-image: url(' + item.src +');'"
9
+ @click="changePictureIndex(index)" v-for="(item, index) in picturesData"></div>
10
+ </div>
11
+ </div>
12
+ </div>
13
+ </template>
14
+
15
+ <script>
16
+ import { ref, computed } from 'vue';
17
+ import VueEasyLightbox from 'vue-easy-lightbox';
18
+
19
+ export default {
20
+ props: {
21
+ previewCount: {
22
+ type: Number,
23
+ required: false,
24
+ default: 5
25
+ },
26
+ picturesData: {
27
+ type: Array,
28
+ required: true
29
+ },
30
+ displayIndex: {
31
+ type: Number,
32
+ required: false,
33
+ default: 0
34
+ },
35
+ },
36
+ components: {
37
+ VueEasyLightbox
38
+ },
39
+ setup(props) {
40
+ const previewPictures = computed(() => {
41
+ return props.picturesData.slice(0, props.previewCount)
42
+ });
43
+ const otherPictureCount = computed(() => {
44
+ var count = props.picturesData.length - props.previewCount;
45
+ return count < 0 ? 0 : count;
46
+ });
47
+ const lightboxVisibleRef = ref(false);
48
+ const picturesIndexRef = ref(props.displayIndex);
49
+
50
+ const changePictureIndex = (index) => {
51
+ picturesIndexRef.value = index;
52
+ };
53
+
54
+ const showLightbox = (index) => {
55
+ changePictureIndex(index);
56
+ lightboxVisibleRef.value = true;
57
+ };
58
+
59
+ const hideLightbox = () => {
60
+ lightboxVisibleRef.value = false;
61
+ }
62
+
63
+ return {
64
+ lightboxVisibleRef,
65
+ picturesIndexRef, changePictureIndex,
66
+ showLightbox, hideLightbox,
67
+ previewCount: props.previewCount,
68
+ previewPictures,
69
+ otherPictureCount
70
+ }
71
+ }
72
+ }
73
+ </script>
74
+
75
+ <style scoped lang="scss">
76
+ @import "./style/scss/Settings/basic-import";
77
+ .hover-border{
78
+ transition: $transition-base;
79
+ &:hover{
80
+ box-shadow: $focus-ring-box-shadow;
81
+ }
82
+ }
83
+
84
+ .vel-modal{
85
+ backdrop-filter: var(--backdrop-blur);
86
+ }
87
+
88
+ .lightbox-thumbnail-toolbar .thumbnail-content{
89
+ cursor: pointer;
90
+ }
91
+
92
+ .lightbox-thumbnail-toolbar{
93
+ $padding-x: 10vw;
94
+ position: fixed;
95
+ top: 0;
96
+ left: $padding-x;
97
+ right: $padding-x;
98
+ margin: auto;
99
+ z-index: 10000;
100
+ animation: fadeIn .5s;
101
+ pointer-events: none;
102
+ .overflow-x-auto{
103
+ display: inline-block;
104
+ max-width: 100%;
105
+ pointer-events: auto;
106
+ }
107
+ .thumbnail-content{
108
+ --bs-border-color: rgba(0,0,0, 0.12);
109
+ @include solid-size(40px);
110
+ filter: brightness(0.5);
111
+ transition: $transition-base;
112
+ &:not(:last-child){
113
+ margin-right: 1rem;
114
+ }
115
+ &:hover{
116
+ filter: brightness(.8);
117
+ }
118
+ &.active{
119
+ filter: brightness(1);
120
+ }
121
+ &:hover, &.active{
122
+ --bs-border-color: rgba(255,255,255, 0.3);
123
+ }
124
+ }
125
+ .hover-border:hover{
126
+ box-shadow: 0 0 $focus-ring-blur $focus-ring-width rgba(255,255,255, .25);
127
+ }
128
+ .overflow-x-auto{
129
+ --bs-emphasis-color-rgb: 255, 255, 255;
130
+ }
131
+ }
132
132
  </style>
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
- {
2
- "name": "jobdone-shared-files",
3
- "version": "0.0.1-beta.80",
4
- "description": "Shared JS and SCSS for Jobdone Enterprise.",
5
- "main": "index.js",
6
- "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
8
- },
9
- "author": "Pyramius",
10
- "license": "MIT",
11
- "dependencies": {
12
- "axios": "^1.2.2",
13
- "vue": "^3.2.45",
14
- "vue-loading-overlay": "^6.0.3",
15
- "bootstrap": "^5.3.0",
16
- "dayjs": "^1.11.7",
17
- "vue-easy-lightbox": "^1.16.0"
18
- }
19
- }
1
+ {
2
+ "name": "jobdone-shared-files",
3
+ "version": "0.0.1-beta.82",
4
+ "description": "Shared JS and SCSS for Jobdone Enterprise.",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "author": "Pyramius",
10
+ "license": "MIT",
11
+ "dependencies": {
12
+ "axios": "^1.2.2",
13
+ "vue": "^3.2.45",
14
+ "vue-loading-overlay": "^6.0.3",
15
+ "bootstrap": "^5.3.0",
16
+ "dayjs": "^1.11.7",
17
+ "vue-easy-lightbox": "^1.16.0"
18
+ }
19
+ }
package/paginate.vue CHANGED
@@ -1,139 +1,139 @@
1
- <template>
2
- <ul class="pagination pagination-round mb-0" :class="containerClass">
3
- <li class="page-item" :class="{'disabled':!pagination.ShowToPrev}">
4
- <button type="button" class="page-link" @click="toPage(1)">
5
- <span class="material-icons">first_page</span>
6
- </button>
7
- </li>
8
- <li class="page-item" :class="{'disabled':!pagination.ShowToPrev}">
9
- <button type="button" class="page-link" @click="toPage(currentPage-1)">
10
- <span class="material-icons icon-18">chevron_left</span>
11
- </button>
12
- </li>
13
- <li class="page-item page-item-ellipsis" v-if="pagination.ShowPrevPageMore">
14
- <span>⋯</span>
15
- </li>
16
- <li class="page-item" v-for="n in range" :class="{'active':n===currentPage}">
17
- <button type="button" class="page-link" @click="toPage(n)">{{n}}</button>
18
- </li>
19
- <li class="page-item page-item-ellipsis" v-if="pagination.ShowNextPageMore">
20
- <span>⋯</span>
21
- </li>
22
- <li class="page-item" :class="{'disabled':!pagination.ShowToNext}">
23
- <button type="button" class="page-link" @click="toPage(currentPage+1)">
24
- <span class="material-icons icon-18">chevron_right</span>
25
- </button>
26
- </li>
27
- <li class="page-item" :class="{'disabled':!pagination.ShowToNext}">
28
- <button type="button" class="page-link" @click="toPage(totalPages)">
29
- <span class="material-icons">last_page</span>
30
- </button>
31
- </li>
32
- </ul>
33
- </template>
34
-
35
- <script>
36
- import { computed } from 'vue';
37
- export default {
38
- props: {
39
- currentPage: {
40
- type: Number,
41
- default: 1
42
- },
43
- totalPages: {
44
- type: Number,
45
- default: 1
46
- },
47
- pageRange: {
48
- type: Number,
49
- default: 5
50
- },
51
- containerClass: {
52
- type: String,
53
- default: ""
54
- },
55
- pageItemClass: {
56
- type: String,
57
- default: ""
58
- },
59
- clickHandler: {
60
- type: Function
61
- }
62
- },
63
- setup(props, { emit}) {
64
- const range = computed(() => {
65
- let min = 1;
66
- let max = 1;
67
- if (props.pageRange < props.totalPages) {
68
- max = props.currentPage + Math.floor(props.pageRange / 2);
69
- max = (max > props.totalPages) ? props.totalPages : max;
70
- if (max - props.pageRange < 1) {
71
- min = 1;
72
- max = props.pageRange;
73
- } else {
74
- min = max - props.pageRange + 1;
75
- }
76
- } else {
77
- min = 1;
78
- max = props.totalPages;
79
- }
80
- const range = [];
81
- for (var i = min; i <= max; i++) {
82
- range.push(i);
83
- }
84
- return range;
85
- });
86
- const pagination = computed(() => {
87
- return {
88
- ShowToPrev: props.currentPage > 1,
89
- ShowPrevPageMore: range.value[0] > 2,
90
- ShowNextPageMore: range.value[range.value.length - 1] < props.totalPages - 1,
91
- ShowToNext: props.currentPage < props.totalPages
92
- }
93
- });
94
- const toPage = (pageNum) => {
95
- emit('to-page', pageNum);
96
- }
97
- return {
98
- range,
99
- pagination,
100
- toPage
101
- };
102
- }
103
- }
104
- </script>
105
-
106
- <style scoped lang="scss">
107
- @import "./style/scss/Settings/basic-import";
108
-
109
- .page-link{
110
- height: 100%;
111
- }
112
-
113
- .pagination.pagination-round .page-item{
114
- &:not(:last-child){
115
- margin-right: .5em;
116
- }
117
- .page-link{
118
- @include flex-center();
119
- @include size(35px);
120
- border-radius: 50%;
121
- overflow: hidden;
122
- .material-icons{
123
- font-size: 130%;
124
- }
125
- }
126
- }
127
- .pagination-sm.pagination-round .page-item .page-link{
128
- @include size(30px);
129
- }
130
- .pagination-lg.pagination-round .page-item .page-link{
131
- @include size(60px);
132
- }
133
- .page-item-ellipsis{
134
- display: flex;
135
- align-items: center;
136
- color: var(--gray-500);
137
- font-size: var(--bs-pagination-font-size);
138
- }
1
+ <template>
2
+ <ul class="pagination pagination-round mb-0" :class="containerClass">
3
+ <li class="page-item" :class="{'disabled':!pagination.ShowToPrev}">
4
+ <button type="button" class="page-link" @click="toPage(1)">
5
+ <span class="material-icons">first_page</span>
6
+ </button>
7
+ </li>
8
+ <li class="page-item" :class="{'disabled':!pagination.ShowToPrev}">
9
+ <button type="button" class="page-link" @click="toPage(currentPage-1)">
10
+ <span class="material-icons icon-18">chevron_left</span>
11
+ </button>
12
+ </li>
13
+ <li class="page-item page-item-ellipsis" v-if="pagination.ShowPrevPageMore">
14
+ <span>⋯</span>
15
+ </li>
16
+ <li class="page-item" v-for="n in range" :class="{'active':n===currentPage}">
17
+ <button type="button" class="page-link" @click="toPage(n)">{{n}}</button>
18
+ </li>
19
+ <li class="page-item page-item-ellipsis" v-if="pagination.ShowNextPageMore">
20
+ <span>⋯</span>
21
+ </li>
22
+ <li class="page-item" :class="{'disabled':!pagination.ShowToNext}">
23
+ <button type="button" class="page-link" @click="toPage(currentPage+1)">
24
+ <span class="material-icons icon-18">chevron_right</span>
25
+ </button>
26
+ </li>
27
+ <li class="page-item" :class="{'disabled':!pagination.ShowToNext}">
28
+ <button type="button" class="page-link" @click="toPage(totalPages)">
29
+ <span class="material-icons">last_page</span>
30
+ </button>
31
+ </li>
32
+ </ul>
33
+ </template>
34
+
35
+ <script>
36
+ import { computed } from 'vue';
37
+ export default {
38
+ props: {
39
+ currentPage: {
40
+ type: Number,
41
+ default: 1
42
+ },
43
+ totalPages: {
44
+ type: Number,
45
+ default: 1
46
+ },
47
+ pageRange: {
48
+ type: Number,
49
+ default: 5
50
+ },
51
+ containerClass: {
52
+ type: String,
53
+ default: ""
54
+ },
55
+ pageItemClass: {
56
+ type: String,
57
+ default: ""
58
+ },
59
+ clickHandler: {
60
+ type: Function
61
+ }
62
+ },
63
+ setup(props, { emit}) {
64
+ const range = computed(() => {
65
+ let min = 1;
66
+ let max = 1;
67
+ if (props.pageRange < props.totalPages) {
68
+ max = props.currentPage + Math.floor(props.pageRange / 2);
69
+ max = (max > props.totalPages) ? props.totalPages : max;
70
+ if (max - props.pageRange < 1) {
71
+ min = 1;
72
+ max = props.pageRange;
73
+ } else {
74
+ min = max - props.pageRange + 1;
75
+ }
76
+ } else {
77
+ min = 1;
78
+ max = props.totalPages;
79
+ }
80
+ const range = [];
81
+ for (var i = min; i <= max; i++) {
82
+ range.push(i);
83
+ }
84
+ return range;
85
+ });
86
+ const pagination = computed(() => {
87
+ return {
88
+ ShowToPrev: props.currentPage > 1,
89
+ ShowPrevPageMore: range.value[0] > 2,
90
+ ShowNextPageMore: range.value[range.value.length - 1] < props.totalPages - 1,
91
+ ShowToNext: props.currentPage < props.totalPages
92
+ }
93
+ });
94
+ const toPage = (pageNum) => {
95
+ emit('to-page', pageNum);
96
+ }
97
+ return {
98
+ range,
99
+ pagination,
100
+ toPage
101
+ };
102
+ }
103
+ }
104
+ </script>
105
+
106
+ <style scoped lang="scss">
107
+ @import "./style/scss/Settings/basic-import";
108
+
109
+ .page-link{
110
+ height: 100%;
111
+ }
112
+
113
+ .pagination.pagination-round .page-item{
114
+ &:not(:last-child){
115
+ margin-right: .5em;
116
+ }
117
+ .page-link{
118
+ @include flex-center();
119
+ @include size(35px);
120
+ border-radius: 50%;
121
+ overflow: hidden;
122
+ .material-icons{
123
+ font-size: 130%;
124
+ }
125
+ }
126
+ }
127
+ .pagination-sm.pagination-round .page-item .page-link{
128
+ @include size(30px);
129
+ }
130
+ .pagination-lg.pagination-round .page-item .page-link{
131
+ @include size(60px);
132
+ }
133
+ .page-item-ellipsis{
134
+ display: flex;
135
+ align-items: center;
136
+ color: var(--gray-500);
137
+ font-size: var(--bs-pagination-font-size);
138
+ }
139
139
  </style>
@@ -1,40 +1,40 @@
1
- .vl-shown {
2
- overflow: hidden;
3
- }
4
-
5
- .vl-overlay {
6
- bottom: 0;
7
- left: 0;
8
- position: absolute;
9
- right: 0;
10
- top: 0;
11
- align-items: center;
12
- display: none;
13
- justify-content: center;
14
- overflow: hidden;
15
- z-index: 9999;
16
- }
17
-
18
- .vl-overlay.vl-active {
19
- display: flex;
20
- }
21
-
22
- .vl-overlay.vl-full-page {
23
- z-index: 9999;
24
- position: fixed;
25
- }
26
-
27
- .vl-overlay .vl-background {
28
- bottom: 0;
29
- left: 0;
30
- position: absolute;
31
- right: 0;
32
- top: 0;
33
- background: #fff;
34
- opacity: 0.5;
35
- }
36
-
37
- .vl-overlay .vl-icon, .vl-parent {
38
- position: relative;
39
- }
40
-
1
+ .vl-shown {
2
+ overflow: hidden;
3
+ }
4
+
5
+ .vl-overlay {
6
+ bottom: 0;
7
+ left: 0;
8
+ position: absolute;
9
+ right: 0;
10
+ top: 0;
11
+ align-items: center;
12
+ display: none;
13
+ justify-content: center;
14
+ overflow: hidden;
15
+ z-index: 9999;
16
+ }
17
+
18
+ .vl-overlay.vl-active {
19
+ display: flex;
20
+ }
21
+
22
+ .vl-overlay.vl-full-page {
23
+ z-index: 9999;
24
+ position: fixed;
25
+ }
26
+
27
+ .vl-overlay .vl-background {
28
+ bottom: 0;
29
+ left: 0;
30
+ position: absolute;
31
+ right: 0;
32
+ top: 0;
33
+ background: #fff;
34
+ opacity: 0.5;
35
+ }
36
+
37
+ .vl-overlay .vl-icon, .vl-parent {
38
+ position: relative;
39
+ }
40
+
@@ -1,6 +1,6 @@
1
- @import "../Settings/basic-import";
2
-
3
- @keyframes fadeIn {
4
- from { opacity: 0; }
5
- to { opacity: 1; }
1
+ @import "../Settings/basic-import";
2
+
3
+ @keyframes fadeIn {
4
+ from { opacity: 0; }
5
+ to { opacity: 1; }
6
6
  }