comand-component-library 3.1.45 → 3.1.48

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 (233) hide show
  1. package/dist/comand-component-library.css +1 -1
  2. package/dist/comand-component-library.umd.min.js +1 -1
  3. package/package.json +47 -41
  4. package/src/App.vue +373 -135
  5. package/src/ComponentDocumentation.vue +156 -0
  6. package/src/ComponentLibraryHelp.vue +20 -0
  7. package/src/assets/data/accordion.json +21 -24
  8. package/src/assets/data/address-data.json +34 -0
  9. package/src/assets/data/bank-account-data.json +22 -0
  10. package/src/assets/data/box-product.json +14 -4
  11. package/src/assets/data/box-user.json +48 -22
  12. package/src/assets/data/breadcrumbs.json +11 -3
  13. package/src/assets/data/cookie-disclaimer.json +4 -4
  14. package/src/assets/data/fake-select-colors.json +4 -0
  15. package/src/assets/data/fake-select-filter-options.json +14 -0
  16. package/src/assets/data/fake-select-options-with-icons.json +6 -12
  17. package/src/assets/data/fake-select-options.json +3 -3
  18. package/src/assets/data/list-of-links-section-anchors.json +23 -0
  19. package/src/assets/data/list-of-links-top-header-navigation.json +20 -0
  20. package/src/assets/data/list-of-links.json +42 -0
  21. package/src/assets/data/main-navigation.json +48 -0
  22. package/src/assets/data/multistep-form-progress-bar.json +33 -0
  23. package/src/assets/data/select-options.json +4 -0
  24. package/src/assets/data/{share-buttons.json → share-buttons-page-by-json.json} +8 -8
  25. package/src/assets/data/share-buttons-page-by-property.json +30 -0
  26. package/src/assets/data/switch-language.json +20 -0
  27. package/src/assets/data/table-large.json +1 -1
  28. package/src/assets/data/table-small.json +1 -1
  29. package/src/assets/styles/global-styles.scss +43 -13
  30. package/src/assets/styles/transitions.scss +21 -1
  31. package/src/components/CmdAccordion.vue +43 -42
  32. package/src/components/CmdAddressData.vue +124 -56
  33. package/src/components/CmdBackToTopButton.vue +3 -3
  34. package/src/components/CmdBankAccountData.vue +104 -0
  35. package/src/components/CmdBox.vue +253 -56
  36. package/src/components/CmdBoxSiteSearch.vue +138 -39
  37. package/src/components/CmdBoxWrapper.vue +206 -0
  38. package/src/components/CmdBreadcrumbs.vue +29 -13
  39. package/src/components/CmdCompanyLogo.vue +6 -4
  40. package/src/components/CmdCookieDisclaimer.vue +99 -75
  41. package/src/components/CmdCopyrightInformation.vue +1 -1
  42. package/src/components/CmdCustomHeadline.vue +93 -0
  43. package/src/components/CmdFakeSelect.vue +285 -60
  44. package/src/components/CmdFancyBox.vue +47 -33
  45. package/src/components/CmdForm.vue +107 -0
  46. package/src/components/CmdFormElement.vue +515 -81
  47. package/src/components/CmdFormFilters.vue +25 -11
  48. package/src/components/CmdGoogleMaps.vue +9 -3
  49. package/src/components/CmdImageGallery.vue +28 -5
  50. package/src/components/CmdImageZoom.vue +9 -1
  51. package/src/components/CmdListOfLinks.vue +169 -0
  52. package/src/components/CmdLoginForm.vue +143 -63
  53. package/src/components/CmdMainNavigation.vue +140 -42
  54. package/src/components/CmdMultipleSwitch.vue +33 -2
  55. package/src/components/CmdMultistepFormProgressBar.vue +60 -10
  56. package/src/components/CmdOpeningHours.vue +36 -10
  57. package/src/components/CmdPager.vue +7 -5
  58. package/src/components/CmdProgressBar.vue +20 -3
  59. package/src/components/CmdShareButtons.vue +64 -9
  60. package/src/components/CmdSiteHeader.vue +27 -14
  61. package/src/components/CmdSlideButton.vue +5 -2
  62. package/src/components/CmdSlideshow.vue +23 -7
  63. package/src/components/CmdSwitchButton.vue +10 -3
  64. package/src/components/CmdSwitchLanguage.vue +18 -10
  65. package/src/components/CmdSystemMessage.vue +30 -17
  66. package/src/components/CmdTable.vue +15 -7
  67. package/src/components/CmdTabs.vue +43 -3
  68. package/src/components/CmdThumbnailScroller.vue +22 -6
  69. package/src/components/CmdTooltip.vue +184 -11
  70. package/src/components/CmdUploadForm.vue +198 -92
  71. package/src/components/CmdWidthLimitationWrapper.vue +9 -6
  72. package/src/composables/event.js +8 -0
  73. package/src/composables/scrollspy.js +52 -0
  74. package/src/directives/focus.js +19 -0
  75. package/src/directives/telephone.js +1 -1
  76. package/src/documentation/commonProps.js +6 -0
  77. package/src/documentation/components/ComponentCode.vue +50 -0
  78. package/src/documentation/components/ComponentProperties.vue +237 -0
  79. package/src/documentation/components/ExampleSectionWrapper.vue +46 -0
  80. package/src/documentation/components/ViewCodeData.vue +113 -0
  81. package/src/documentation/data/CmdAccordionHelp.js +22 -0
  82. package/src/documentation/data/CmdAddressDataHelp.js +17 -0
  83. package/src/documentation/data/CmdBackToTopButtonHelp.js +3 -0
  84. package/src/documentation/data/CmdBankAccountDataHelp.js +8 -0
  85. package/src/documentation/data/CmdBoxHelp.js +45 -0
  86. package/src/documentation/data/CmdBoxSiteSearchHelp.js +11 -0
  87. package/src/documentation/data/CmdBreadcrumbsHelp.js +6 -0
  88. package/src/documentation/data/CmdCompanyLogoHelp.js +8 -0
  89. package/src/documentation/data/CmdCookieDisclaimerHelp.js +9 -0
  90. package/src/documentation/data/CmdCopyrightInformation.js +2 -0
  91. package/src/documentation/data/CmdCustomHeadlineHelp.js +8 -0
  92. package/src/documentation/data/CmdFakeSelectHelp.js +60 -0
  93. package/src/documentation/data/CmdFancyBoxHelp.js +7 -0
  94. package/src/documentation/data/CmdFooterNavigationHelp.js +5 -0
  95. package/src/documentation/data/CmdFormElementHelp.js +189 -0
  96. package/src/documentation/data/CmdFormFiltersHelp.js +6 -0
  97. package/src/documentation/data/CmdFormHelp.js +10 -0
  98. package/src/documentation/data/CmdGoogleMapsHelp.js +5 -0
  99. package/src/documentation/data/CmdImageGalleryHelp.js +5 -0
  100. package/src/documentation/data/CmdImageZoomHelp.js +6 -0
  101. package/src/documentation/data/CmdListOfLinksHelp.js +24 -0
  102. package/src/documentation/data/CmdLoginFormHelp.js +6 -0
  103. package/src/documentation/data/CmdMainNavigationHelp.js +7 -0
  104. package/src/documentation/data/CmdMultistepFormProgressBarHelp.js +6 -0
  105. package/src/documentation/data/CmdOpeningHoursHelp.js +10 -0
  106. package/src/documentation/data/CmdPagerHelp.js +7 -0
  107. package/src/documentation/data/CmdProgressBarHelp.js +13 -0
  108. package/src/documentation/data/CmdShareButtonsHelp.js +13 -0
  109. package/src/documentation/data/CmdSiteHeaderHelp.js +21 -0
  110. package/src/documentation/data/CmdSlideButtonHelp.js +10 -0
  111. package/src/documentation/data/CmdSlideshowHelp.js +7 -0
  112. package/src/documentation/data/CmdSwitchLanguageHelp.js +6 -0
  113. package/src/documentation/data/CmdSystemMessageHelp.js +32 -0
  114. package/src/documentation/data/CmdTableHelp.js +14 -0
  115. package/src/documentation/data/CmdTabsHelp.js +10 -0
  116. package/src/documentation/data/CmdThumbnailScrollerHelp.js +5 -0
  117. package/src/documentation/data/CmdTooltipHelp.js +13 -0
  118. package/src/documentation/data/CmdUploadFormHelp.js +17 -0
  119. package/src/documentation/data/CmdWidthLimitationWrapperHelp.js +7 -0
  120. package/src/documentation/data/componentsDescription.json +158 -0
  121. package/src/documentation/generated/CmdAccordionPropertyDescriptions.json +57 -0
  122. package/src/documentation/generated/CmdAddressDataPropertyDescriptions.json +32 -0
  123. package/src/documentation/generated/CmdBackToTopButtonPropertyDescriptions.json +12 -0
  124. package/src/documentation/generated/CmdBankAccountDataPropertyDescriptions.json +34 -0
  125. package/src/documentation/generated/CmdBoxPropertyDescriptions.json +91 -0
  126. package/src/documentation/generated/CmdBoxSiteSearchPropertyDescriptions.json +41 -0
  127. package/src/documentation/generated/CmdBoxWrapperPropertyDescriptions.json +47 -0
  128. package/src/documentation/generated/CmdBreadcrumbsPropertyDescriptions.json +17 -0
  129. package/src/documentation/generated/CmdCompanyLogoPropertyDescriptions.json +27 -0
  130. package/src/documentation/generated/CmdCookieDisclaimerPropertyDescriptions.json +22 -0
  131. package/src/documentation/generated/CmdCustomHeadlinePropertyDescriptions.json +22 -0
  132. package/src/documentation/generated/CmdFakeSelectPropertyDescriptions.json +79 -0
  133. package/src/documentation/generated/CmdFancyBoxPropertyDescriptions.json +62 -0
  134. package/src/documentation/generated/CmdFooterNavigationPropertyDescriptions.json +17 -0
  135. package/src/documentation/generated/CmdFormElementPropertyDescriptions.json +178 -0
  136. package/src/documentation/generated/CmdFormFiltersPropertyDescriptions.json +32 -0
  137. package/src/documentation/generated/CmdFormPropertyDescriptions.json +40 -0
  138. package/src/documentation/generated/CmdGoogleMapsPropertyDescriptions.json +7 -0
  139. package/src/documentation/generated/CmdImageGalleryPropertyDescriptions.json +22 -0
  140. package/src/documentation/generated/CmdImageZoomPropertyDescriptions.json +12 -0
  141. package/src/documentation/generated/CmdListOfLinksPropertyDescriptions.json +60 -0
  142. package/src/documentation/generated/CmdLoginFormPropertyDescriptions.json +90 -0
  143. package/src/documentation/generated/CmdMainNavigationPropertyDescriptions.json +62 -0
  144. package/src/documentation/generated/CmdMultipleSwitchPropertyDescriptions.json +52 -0
  145. package/src/documentation/generated/CmdMultistepFormProgressBarPropertyDescriptions.json +17 -0
  146. package/src/documentation/generated/CmdOpeningHoursPropertyDescriptions.json +42 -0
  147. package/src/documentation/generated/CmdPagerPropertyDescriptions.json +37 -0
  148. package/src/documentation/generated/CmdProgressBarPropertyDescriptions.json +32 -0
  149. package/src/documentation/generated/CmdShareButtonsPropertyDescriptions.json +34 -0
  150. package/src/documentation/generated/CmdSiteHeaderPropertyDescriptions.json +27 -0
  151. package/src/documentation/generated/CmdSlideButtonPropertyDescriptions.json +25 -0
  152. package/src/documentation/generated/CmdSlideshowPropertyDescriptions.json +42 -0
  153. package/src/documentation/generated/CmdSwitchButtonPropertyDescriptions.json +79 -0
  154. package/src/documentation/generated/CmdSwitchLanguagePropertyDescriptions.json +7 -0
  155. package/src/documentation/generated/CmdSystemMessagePropertyDescriptions.json +40 -0
  156. package/src/documentation/generated/CmdTablePropertyDescriptions.json +62 -0
  157. package/src/documentation/generated/CmdTabsPropertyDescriptions.json +27 -0
  158. package/src/documentation/generated/CmdThumbnailScrollerPropertyDescriptions.json +32 -0
  159. package/src/documentation/generated/CmdTooltipPropertyDescriptions.json +17 -0
  160. package/src/documentation/generated/CmdUploadFormPropertyDescriptions.json +90 -0
  161. package/src/documentation/generated/CmdWidthLimitationWrapperPropertyDescriptions.json +41 -0
  162. package/src/documentation/generated/frameworkIcons.json +730 -0
  163. package/src/documentation/generated/logosIcons.json +110 -0
  164. package/src/documentation/tabs.js +46 -0
  165. package/src/documentation/views/ContainerPage.vue +237 -0
  166. package/src/documentation/views/HelpHome.vue +13 -0
  167. package/src/documentation/views/IconFont.vue +80 -0
  168. package/src/documentation/views/components/CmdAccordionHelp.vue +78 -0
  169. package/src/documentation/views/components/CmdAddressDataHelp.vue +65 -0
  170. package/src/documentation/views/components/CmdBackToTopButtonHelp.vue +62 -0
  171. package/src/documentation/views/components/CmdBankAccountDataHelp.vue +88 -0
  172. package/src/documentation/views/components/CmdBoxHelp.vue +137 -0
  173. package/src/documentation/views/components/CmdBoxSiteSearchHelp.vue +60 -0
  174. package/src/documentation/views/components/CmdBoxWrapperHelp.vue +111 -0
  175. package/src/documentation/views/components/CmdBreadcrumbsHelp.vue +51 -0
  176. package/src/documentation/views/components/CmdCompanyLogoHelp.vue +48 -0
  177. package/src/documentation/views/components/CmdCookieDisclaimerHelp.vue +105 -0
  178. package/src/documentation/views/components/CmdCustomHeadlineHelp.vue +53 -0
  179. package/src/documentation/views/components/CmdFakeSelectHelp.vue +175 -0
  180. package/src/documentation/views/components/CmdFancyBoxHelp.vue +79 -0
  181. package/src/documentation/views/components/CmdFormElementHelp.vue +412 -0
  182. package/src/documentation/views/components/CmdFormFiltersHelp.vue +69 -0
  183. package/src/documentation/views/components/CmdFormHelp.vue +41 -0
  184. package/src/documentation/views/components/CmdGoogleMapsHelp.vue +55 -0
  185. package/src/documentation/views/components/CmdImageGalleryHelp.vue +46 -0
  186. package/src/documentation/views/components/CmdImageZoomHelp.vue +34 -0
  187. package/src/documentation/views/components/CmdListOfLinksHelp.vue +64 -0
  188. package/src/documentation/views/components/CmdLoginFormHelp.vue +117 -0
  189. package/src/documentation/views/components/CmdMainNavigationHelp.vue +94 -0
  190. package/src/documentation/views/components/CmdMultistepFormProgressBarHelp.vue +49 -0
  191. package/src/documentation/views/components/CmdOpeningHoursHelp.vue +49 -0
  192. package/src/documentation/views/components/CmdPagerHelp.vue +57 -0
  193. package/src/documentation/views/components/CmdProgressBarHelp.vue +47 -0
  194. package/src/documentation/views/components/CmdShareButtonsHelp.vue +65 -0
  195. package/src/documentation/views/components/CmdSiteHeaderHelp.vue +72 -0
  196. package/src/documentation/views/components/CmdSlideButtonHelp.vue +90 -0
  197. package/src/documentation/views/components/CmdSlideshowHelp.vue +60 -0
  198. package/src/documentation/views/components/CmdSwitchLanguageHelp.vue +64 -0
  199. package/src/documentation/views/components/CmdSystemMessageHelp.vue +86 -0
  200. package/src/documentation/views/components/CmdTableHelp.vue +84 -0
  201. package/src/documentation/views/components/CmdTabsHelp.vue +52 -0
  202. package/src/documentation/views/components/CmdThumbnailScrollerHelp.vue +50 -0
  203. package/src/documentation/views/components/CmdTooltipHelp.vue +59 -0
  204. package/src/documentation/views/components/CmdUploadFormHelp.vue +59 -0
  205. package/src/documentation/views/components/CmdWidthLimitationWrapperHelp.vue +46 -0
  206. package/src/index.js +7 -3
  207. package/src/main.js +25 -15
  208. package/src/mixins/CmdAddressData/DefaultMessageProperties.js +17 -0
  209. package/src/mixins/CmdBox/DefaultMessageProperties.js +10 -0
  210. package/src/mixins/CmdFakeSelect/DefaultMessageProperties.js +9 -0
  211. package/src/mixins/CmdFormElement/DefaultMessageProperties.js +9 -0
  212. package/src/mixins/CmdImageGallery/DefaultMessageProperties.js +9 -0
  213. package/src/mixins/CmdSiteSearch/DefaultMessageProperties.js +14 -0
  214. package/src/mixins/CmdUploadForm/DefaultMessageProperties.js +5 -1
  215. package/src/mixins/FieldValidation.js +220 -0
  216. package/src/mixins/GlobalDefaultMessageProperties.js +15 -0
  217. package/src/mixins/Tooltip.js +26 -0
  218. package/src/router/index.js +67 -0
  219. package/src/utilities.js +3 -6
  220. package/src/utils/common.js +6 -0
  221. package/src/utils/dom.js +8 -0
  222. package/src/utils/globalSequence.js +13 -0
  223. package/src/utils/string.js +8 -0
  224. package/src/assets/data/address.json +0 -13
  225. package/src/assets/data/footer-navigation.json +0 -38
  226. package/src/assets/data/languages.json +0 -31
  227. package/src/assets/data/multisteps.json +0 -27
  228. package/src/assets/data/navigation.json +0 -47
  229. package/src/assets/data/pager.json +0 -11
  230. package/src/assets/data/top-header-navigation.json +0 -27
  231. package/src/components/CmdFooterNavigation.vue +0 -71
  232. package/src/components/CmdMainHeadline.vue +0 -75
  233. package/src/components/CmdTopHeaderNavigation.vue +0 -88
@@ -0,0 +1,220 @@
1
+ // import mixins
2
+ import I18n from "./I18n"
3
+ import GlobalDefaultMessageProperties from "./GlobalDefaultMessageProperties"
4
+
5
+ export default {
6
+ data() {
7
+ return {
8
+ validationStatus: "",
9
+ capsLockActivated: false
10
+ }
11
+ },
12
+ mixins: [
13
+ I18n,
14
+ GlobalDefaultMessageProperties
15
+ ],
16
+ props: {
17
+ /**
18
+ * validation message shown on clicking the status-icon of a form-element with state
19
+ */
20
+ validationMessage: {
21
+ type: String,
22
+ required: false
23
+ },
24
+ /**
25
+ * link to faq/help
26
+ */
27
+ helplink: {
28
+ type: Object,
29
+ default() {
30
+ return {
31
+ show: true,
32
+ url: "helpurl",
33
+ target: "help",
34
+ text: "Open help",
35
+ // text: this.getMessage("cmdfieldvalidation.open_detailed_help"),
36
+ icon: {
37
+ iconClass: "icon-questionmark-circle",
38
+ tooltip: "Open help in new tab"
39
+ }
40
+ }
41
+ }
42
+ },
43
+ /**
44
+ * define custom requirement for validation
45
+ *
46
+ * prepared functions are already defined in FieldValidation.js
47
+ */
48
+ customRequirements: {
49
+ type: Array,
50
+ required: false
51
+ },
52
+ /**
53
+ * toggle requirements in tooltip
54
+ */
55
+ showRequirements: {
56
+ type: Boolean,
57
+ default: true
58
+ },
59
+ iconError: {
60
+ type: String,
61
+ default: "icon-error-circle"
62
+ } ,
63
+ iconWarning: {
64
+ type: String,
65
+ default: "icon-exclamation-circle"
66
+ },
67
+ iconSuccess: {
68
+ type: String,
69
+ default: "icon-check-circle"
70
+ },
71
+ iconInfo: {
72
+ type: String,
73
+ default: "icon-info-circle"
74
+ },
75
+ iconCapsLock: {
76
+ type: String,
77
+ default: "icon-home"
78
+ },
79
+ iconHelp: {
80
+ type: String,
81
+ default: "icon-questionmark-circle"
82
+ }
83
+ },
84
+ computed: {
85
+ getValidationMessage() {
86
+ if (this.validationStatus !== "") {
87
+ if (this.validationStatus === "error" && !this.validationMessage) {
88
+ return this.getMessage("cmdfieldvalidation.information_not_filled_correctly")
89
+ }
90
+ if (this.validationStatus === "warning" && this.capsLockActivated) {
91
+ return this.getMessage("cmdfieldvalidation.caps_lock_is_activated")
92
+ }
93
+ if (this.validationStatus === "success") {
94
+ return this.getMessage("cmdfieldvalidation.information_filled_correctly")
95
+ }
96
+ }
97
+ return ""
98
+ },
99
+ getStatusIconClass() {
100
+ if (this.validationStatus !== "") {
101
+ if (!this.capsLockActivated) {
102
+ if (this.validationStatus === "error") {
103
+ return this.iconError
104
+ } else if (this.validationStatus === "warning") {
105
+ return this.iconWarning
106
+ } else if (this.validationStatus === "success") {
107
+ return this.iconSuccess
108
+ }
109
+ return this.iconInfo
110
+ } else {
111
+ return this.iconCapsLock
112
+ }
113
+ }
114
+ return this.iconHelp
115
+ },
116
+ inputRequirements() {
117
+ const standardRequirements = []
118
+ // check if field is required
119
+ if(this.$attrs.required) {
120
+ standardRequirements.push({
121
+ message: this.getRequirementMessage(),
122
+ valid(value, attributes) {
123
+ return !attributes.required || value.length > 0
124
+ }
125
+ })
126
+ }
127
+ // check if filed has a minimum length
128
+ if(this.$attrs.minlength) {
129
+ standardRequirements.push({
130
+ message: "Input has minimum length (" + this.value.length + "/" + this.$attrs.minlength + ")",
131
+ valid(value, attributes) {
132
+ return value.length >= attributes.minlength
133
+ }
134
+ })
135
+ }
136
+ // check is field has custom requirements defined
137
+ if(!this.customRequirements || !this.customRequirements.length) {
138
+ return standardRequirements
139
+ }
140
+ // duplicate existing requirements into new (combined) array
141
+ return [...standardRequirements, ...this.customRequirements]
142
+ }
143
+ },
144
+ methods: {
145
+ checkForCapsLock(event) {
146
+ if ((["password", "number", "url", "email"].includes(this.$attrs.type)) && event.getModifierState("CapsLock")) {
147
+ this.capsLockActivated = true
148
+ this.validationStatus = "warning"
149
+ } else {
150
+ this.capsLockActivated = false
151
+ this.validationStatus = ""
152
+ }
153
+ },
154
+ getRequirementMessage() {
155
+ return this.getMessage("cmdfieldvalidation.required_field_is_filled")
156
+ }
157
+ }
158
+ }
159
+
160
+ function validateSpecialCharacters(message = "Field contains Special character") {
161
+ return {
162
+ message,
163
+ valid(value) {
164
+ return !/^[a-z0-9\s]*$/i.test(value)
165
+ }
166
+ }
167
+ }
168
+
169
+ function validateNumbers(message = "Field contains numbers") {
170
+ return {
171
+ message, // short for message: message
172
+ valid(value) {
173
+ return /\d/.test(value)
174
+ }
175
+ }
176
+ }
177
+
178
+ function validateNumbersOnly(message = "Field contains numbers only") {
179
+ return {
180
+ message, // short for message: message
181
+ valid(value) {
182
+ return /^\d*$/.test(value)
183
+ }
184
+ }
185
+ }
186
+
187
+ function validateCharacters(message = "Field contains at least one character") {
188
+ return {
189
+ message,
190
+ valid(value) {
191
+ return /[a-z]/i.test(value)
192
+ }
193
+ }
194
+ }
195
+
196
+ function validateCapitalLetters(message = "Field contains capital letters") {
197
+ return {
198
+ message,
199
+ valid(value) {
200
+ return /[A-Z]/.test(value)
201
+ }
202
+ }
203
+ }
204
+ /*
205
+ function validateMaxlength(message = "Input has maximum length") {
206
+ return {
207
+ message,
208
+ valid(value, attributes) {
209
+ return value.length <= attributes.maxlength
210
+ }
211
+ }
212
+ }
213
+ */
214
+ export {
215
+ validateSpecialCharacters,
216
+ validateNumbers,
217
+ validateNumbersOnly,
218
+ validateCharacters,
219
+ validateCapitalLetters
220
+ }
@@ -0,0 +1,15 @@
1
+ export default {
2
+ data() {
3
+ return {
4
+ defaultMessageProperties: {
5
+ "cmdfieldvalidation.open_detailed_help": "Open detailed help!",
6
+
7
+ "cmdfieldvalidation.information_not_filled_correctly": "This information is not filled correctly!",
8
+ "cmdfieldvalidation.information_filled_correctly": "This information is filled correctly!",
9
+ "cmdfieldvalidation.caps_lock_is_activated": "Attention: Caps lock is activated!",
10
+ "cmdfieldvalidation.required_field_is_filled": "Required field is filled!",
11
+ "cmdfieldvalidation.field_contains_special_character": "Field contains Special character"
12
+ }
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,26 @@
1
+ import {nextSequenceValue} from "../utils/globalSequence";
2
+
3
+ export default {
4
+ data() {
5
+ return {
6
+ tooltip: false,
7
+ tooltipId: "tooltip-" + nextSequenceValue()
8
+ }
9
+ },
10
+ props: {
11
+ /**
12
+ * useCustomTooltip
13
+ */
14
+ useCustomTooltip: {
15
+ type: Boolean,
16
+ default: true
17
+ },
18
+ /**
19
+ * allow closing tooltip by escape-key
20
+ */
21
+ allowEscapeKey: {
22
+ type: Boolean,
23
+ default: true
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,67 @@
1
+ import { createRouter, createWebHistory } from "vue-router"
2
+ import {routeHandler as tabsRouteHandler} from "../documentation/tabs"
3
+ import ContainerPage from "../documentation/views/ContainerPage"
4
+ import HelpHome from "../documentation/views/HelpHome"
5
+ import IconFont from "../documentation/views/IconFont"
6
+ import componentsDescription from "../documentation/data/componentsDescription"
7
+ import ComponentDocumentation from "../ComponentDocumentation"
8
+
9
+ const routes = []
10
+
11
+ const componentNames = Object.keys(componentsDescription)
12
+
13
+ routes.push({
14
+ path: "/",
15
+ name: "home",
16
+ component: HelpHome
17
+ })
18
+
19
+ routes.push({
20
+ path: "/subsubpage/:param1/:param2",
21
+ name: "subsubpage",
22
+ redirect: {
23
+ name: componentNames[0]
24
+ }
25
+ })
26
+
27
+ const componentsRoute = {
28
+ path: "/components",
29
+ name: "components",
30
+ component: ComponentDocumentation,
31
+ redirect: {
32
+ name: componentNames[0]
33
+ },
34
+ children: []
35
+ }
36
+
37
+ for(let i = 0 ; i < componentNames.length ; i++) {
38
+ componentsRoute.children.push(
39
+ {
40
+ path: componentNames[i] + "/:tab?",
41
+ name: componentNames[i],
42
+ component: ContainerPage,
43
+ props: () => ({
44
+ componentName: componentNames[i],
45
+ previousComponentName: i === 0 ? componentNames[componentNames.length - 1] : componentNames[i - 1],
46
+ nextComponentName: i === componentNames.length - 1 ? componentNames[0] : componentNames[i + 1]
47
+ })
48
+ }
49
+ )
50
+ }
51
+
52
+ routes.push(componentsRoute)
53
+
54
+ routes.push({
55
+ path: "/iconfont",
56
+ name: "iconfont",
57
+ component: IconFont
58
+ })
59
+
60
+ const router = createRouter({
61
+ history: createWebHistory(process.env.BASE_URL),
62
+ routes
63
+ })
64
+
65
+ router.beforeEach(tabsRouteHandler)
66
+
67
+ export default router
package/src/utilities.js CHANGED
@@ -1,11 +1,8 @@
1
1
  function getRoute (entry) {
2
- if(entry.link.path) {
3
- return entry.link.path
4
- }
5
- return {
6
- name: entry.link.name,
7
- params: entry.link.params || {} // if entry.link.params is set (or return empty object)
2
+ if(entry.path) {
3
+ return entry.path
8
4
  }
5
+ return entry.route
9
6
  }
10
7
 
11
8
  export { getRoute }
@@ -0,0 +1,6 @@
1
+ function isFrameMode() {
2
+ const frameUrl = new URL(location)
3
+ return frameUrl.searchParams.has("frameMode")
4
+ }
5
+
6
+ export {isFrameMode}
@@ -0,0 +1,8 @@
1
+ function getOffsetTop(el) {
2
+ if (el.offsetParent) {
3
+ return el.offsetTop + getOffsetTop(el.offsetParent)
4
+ }
5
+ return el.offsetTop
6
+ }
7
+
8
+ export {getOffsetTop}
@@ -0,0 +1,13 @@
1
+ const sequences = {}
2
+
3
+ function nextSequenceValue(sequenceName = "defaultSequence") {
4
+ const currentValue = sequences[sequenceName] || 0 // get currentValue for specific sequence (else set value to 0)
5
+ sequences[sequenceName] = currentValue + 1 // raise currentValue by 1
6
+ return sequences[sequenceName]
7
+ }
8
+
9
+ function currentSequenceValue(sequenceName = "defaultSequence") {
10
+ return sequences[sequenceName] || 0 // get currentValue for specific sequence (else set value to 0)
11
+ }
12
+
13
+ export {nextSequenceValue, currentSequenceValue}
@@ -0,0 +1,8 @@
1
+ function capitalize(string) {
2
+ if(string) {
3
+ return string.slice(0, 1).toUpperCase() + string.slice(1)
4
+ }
5
+ return ""
6
+ }
7
+
8
+ export {capitalize}
@@ -1,13 +0,0 @@
1
- {
2
- "address": {
3
- "streetNo": "Steinmetzstraße 16",
4
- "zip": 41515,
5
- "city": "Grevenbroich"
6
- },
7
- "telephone": "+1 (0)1234/56789",
8
- "mobilephone": "+1 555-12345",
9
- "fax": "+1 (0)1234/567810",
10
- "email": "youremail@provider.com"
11
- }
12
-
13
-
@@ -1,38 +0,0 @@
1
- [
2
- {
3
- "iconClass": "icon-user-profile",
4
- "type": "href",
5
- "linkName": "",
6
- "path": "#",
7
- "target": "",
8
- "tooltip": "Link without name, but tooltip"
9
- },
10
- {
11
- "type": "href",
12
- "linkName": "Private policy",
13
- "path": "",
14
- "target": "",
15
- "fancybox": true
16
- },
17
- {
18
- "type": "href",
19
- "linkName": "CoManD-Website",
20
- "path": "http://www.comand-cms.com",
21
- "target": "_blank"
22
- },
23
- {
24
- "type": "href",
25
- "linkName": "Router with path",
26
- "path": "http://www.comand-cms.com"
27
- },
28
- {
29
- "type": "href",
30
- "linkName": "Router with name",
31
- "path": "#"
32
- },
33
- {
34
- "type": "href",
35
- "linkName": "Router with name and params",
36
- "path": "#"
37
- }
38
- ]
@@ -1,31 +0,0 @@
1
- [
2
- {
3
- "iso2": "de",
4
- "name": "Deutsch",
5
- "tooltip": "Sprache zu deutsch wechseln",
6
- "link": {
7
- "type": "router",
8
- "path": "/"
9
- }
10
- },
11
- {
12
- "iso2": "en",
13
- "name": "English",
14
- "tooltip": "Switch language to English",
15
- "link": {
16
- "type": "router",
17
- "name": "somename",
18
- "params": {
19
- "id": 123
20
- }
21
- }
22
- },
23
- {
24
- "iso2": "fr",
25
- "name": "Francais",
26
- "tooltip": "Switch language to Francais",
27
- "link": {
28
- "path": "#"
29
- }
30
- }
31
- ]
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "path": "",
4
- "name": "Contact",
5
- "iconClass": "icon-address"
6
- },
7
- {
8
- "path": "",
9
- "name": "Settings",
10
- "iconClass": "icon-configuration"
11
- },
12
- {
13
- "path": "",
14
- "name": "Attachments",
15
- "iconClass": "icon-attachment"
16
- },
17
- {
18
- "path": "",
19
- "name": "Terms and Conditions",
20
- "iconClass": "icon-section-sign"
21
- },
22
- {
23
- "path": "",
24
- "name": "Summary",
25
- "iconClass": "icon-rows"
26
- }
27
- ]
@@ -1,47 +0,0 @@
1
- [
2
- {
3
- "name": "Entry 1",
4
- "href": "",
5
- "target": "",
6
- "subentries": []
7
- },
8
- {
9
- "name": "Entry 2",
10
- "href": "",
11
- "target": "",
12
- "subentries": [
13
- {
14
- "name": "Entry 2.1",
15
- "href": "",
16
- "target": "",
17
- "subentries": [
18
- {
19
- "name": "Entry 2.1.1",
20
- "href": "",
21
- "target": ""
22
- },
23
- {
24
- "name": "Entry 2.1.2",
25
- "href": "",
26
- "target": ""
27
- },
28
- {
29
- "name": "Entry 2.1.3",
30
- "href": "",
31
- "target": ""
32
- }
33
- ]
34
- },
35
- {
36
- "name": "Entry 2.2",
37
- "href": "",
38
- "target": ""
39
- }
40
- ]
41
- },
42
- {
43
- "name": "CoManD-CMS",
44
- "href": "http://www.comand-cms.com",
45
- "target": "_blank"
46
- }
47
- ]
@@ -1,11 +0,0 @@
1
- [
2
- {
3
- "item": "<p>Content 1</p>"
4
- },
5
- {
6
- "item": "<p>Content 2</p>"
7
- },
8
- {
9
- "item": "<p>Content 3</p>"
10
- }
11
- ]
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "linkType": "href",
4
- "path": "http://www.comand-cms.com",
5
- "target": "_blank",
6
- "icon": {
7
- "iconClass": "icon-globe",
8
- "tooltip": "CoManD-CMS"
9
- }
10
- },
11
- {
12
- "linkType": "href",
13
- "path": "#anchor-section4",
14
- "icon": {
15
- "iconClass": "icon-mail",
16
- "tooltip": "Contact"
17
- }
18
- },
19
- {
20
- "linkType": "href",
21
- "path": "#anchor-section3",
22
- "icon": {
23
- "iconClass": "icon-user-profile",
24
- "tooltip": "Login"
25
- }
26
- }
27
- ]
@@ -1,71 +0,0 @@
1
- <template>
2
- <div class="cmd-footer-navigation">
3
- <h4 v-if="headline">{{ headline }}</h4>
4
- <ul class="flex-container">
5
- <li v-for="(link, index) in footerNavigation" :key="index">
6
- <router-link v-if="link.type === 'router'" :to="getRoute(link)" :title="link.tooltip">
7
- <span v-if="link.iconClass" :class="link.iconClass"></span>
8
- <span v-if="link.linkName">{{ link.linkName }}</span>
9
- </router-link>
10
- <a v-else :href="link.path" :target="link.target" @click="executeLink(link, $event)"
11
- :title="link.tooltip">
12
- <span v-if="link.iconClass" :class="link.iconClass"></span>
13
- <span v-if="link.linkName">{{ link.linkName }}</span>
14
- </a>
15
- </li>
16
- </ul>
17
- </div>
18
- </template>
19
-
20
- <script>
21
- import {getRoute} from "../utilities.js"
22
- import {openFancyBox} from "./CmdFancyBox.vue"
23
-
24
- export default {
25
- name: "CmdFooterNavigation",
26
- props: {
27
- /**
28
- * headlien above links
29
- */
30
- headline: {
31
- type: String,
32
- required: false
33
- },
34
- /**
35
- * list of links shown vertically
36
- */
37
- footerNavigation: {
38
- type: Array,
39
- required: false
40
- }
41
- },
42
- methods: {
43
- getRoute(language) {
44
- return getRoute(language)
45
- },
46
- executeLink(link, event) {
47
- if (link.fancybox) {
48
- event.preventDefault()
49
- openFancyBox({url: link.link.path})
50
- }
51
- }
52
- }
53
- }
54
- </script>
55
-
56
- <style lang="scss">
57
- /* begin cmd-footer-navigation ---------------------------------------------------------------------------------------- */
58
- .cmd-footer-navigation {
59
- ul {
60
- flex-direction: column;
61
- gap: calc(var(--default-gap) / 2);
62
-
63
- li {
64
- list-style: none;
65
- margin-left: 0;
66
- }
67
- }
68
- }
69
-
70
- /* end cmd-footer-navigation ------------------------------------------------------------------------------------------ */
71
- </style>