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

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/.vs/VSWorkspaceState.json +6 -0
  2. package/.vs/jobdone_sharejs/FileContentIndex/a973f22d-a16a-4ca9-ab6a-75ab92ec6af7.vsidx +0 -0
  3. package/.vs/jobdone_sharejs/FileContentIndex/bacf95a3-2185-41c2-b12a-e93bb40f2204.vsidx +0 -0
  4. package/.vs/jobdone_sharejs/config/applicationhost.config +1021 -0
  5. package/.vs/jobdone_sharejs/v17/.wsuo +0 -0
  6. package/.vs/slnx.sqlite +0 -0
  7. package/ProjectManagement/projectNavbar.vue +131 -84
  8. package/README.md +7 -7
  9. package/common/directives/collapse.js +12 -12
  10. package/common/directives/popovers.js +10 -10
  11. package/common/directives/tooltip.js +10 -10
  12. package/common/format.js +26 -26
  13. package/index.js +14 -14
  14. package/lightboxWithOverview.vue +131 -131
  15. package/package.json +19 -19
  16. package/paginate.vue +138 -138
  17. package/style/css/vue-loading-overlay/index.css +40 -40
  18. package/style/scss/Common/Animation.scss +5 -5
  19. package/style/scss/Common/SelectableTable.scss +30 -30
  20. package/style/scss/Common/filepond.scss +27 -27
  21. package/style/scss/Common/thumbnail-group.scss +14 -14
  22. package/style/scss/Layout/LayoutBase.scss +1014 -1014
  23. package/style/scss/Layout/LayoutMobile.scss +202 -202
  24. package/style/scss/Layout/LayoutProject.scss +122 -122
  25. package/style/scss/Layout/LayoutSinglePage.scss +13 -13
  26. package/style/scss/Layout/LayoutTwoColumn.scss +56 -56
  27. package/style/scss/Settings/_Mixins.scss +229 -229
  28. package/style/scss/Settings/_MobileVariables.scss +11 -11
  29. package/style/scss/Settings/_basic-import.scss +5 -5
  30. package/style/scss/Settings/_bs-variables-dark.scss +70 -70
  31. package/style/scss/Settings/_bs-variables.scss +1743 -1743
  32. package/style/scss/Settings/_color-mode.scss +122 -122
  33. package/style/scss/Settings/_custom-variables.scss +13 -13
  34. package/tagEditor.vue +263 -263
  35. package/tree.vue +69 -69
  36. package/treeItem.vue +366 -366
  37. package/vueLoadingOverlay.vue +70 -70
@@ -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.79",
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.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
+ }
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
  }