@wirenboard/json-editor 2.5.3-wb13

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 (283) hide show
  1. package/.env-dist +2 -0
  2. package/.eslintrc +7 -0
  3. package/.gitattributes +1 -0
  4. package/.github/PULL_REQUEST_TEMPLATE.md +9 -0
  5. package/.github/issue_template +25 -0
  6. package/.github/workflows/build.yml +58 -0
  7. package/.travis.yml +70 -0
  8. package/CHANGELOG.md +915 -0
  9. package/CONTRIBUTING.md +92 -0
  10. package/LICENSE +20 -0
  11. package/Makefile +26 -0
  12. package/README.md +1646 -0
  13. package/README_ADDON.md +573 -0
  14. package/UPGRADING.md +46 -0
  15. package/build/CssToJson.js +55 -0
  16. package/codecept.conf.js +35 -0
  17. package/config/.eslintrc +7 -0
  18. package/config/codeceptjs_helpers.js +139 -0
  19. package/config/helpers.js +10 -0
  20. package/config/karma.conf.js +93 -0
  21. package/config/readme.md +31 -0
  22. package/config/webpack.common.js +75 -0
  23. package/config/webpack.dev.js +15 -0
  24. package/config/webpack.nonmin.js +19 -0
  25. package/config/webpack.prod.js +25 -0
  26. package/dist/jsoneditor.js +14 -0
  27. package/dist/nonmin/jsoneditor.js +29097 -0
  28. package/dist/nonmin/jsoneditor.js.map +1 -0
  29. package/docs/ace_editor.html +56 -0
  30. package/docs/advanced.html +136 -0
  31. package/docs/basic.html +63 -0
  32. package/docs/basic_person.json +26 -0
  33. package/docs/choices.html +86 -0
  34. package/docs/cleave.html +132 -0
  35. package/docs/colorpicker.html +194 -0
  36. package/docs/css_integration.html +135 -0
  37. package/docs/datetime.html +305 -0
  38. package/docs/describedby.html +161 -0
  39. package/docs/enumsource.html +67 -0
  40. package/docs/images/categoriesDemo.png +0 -0
  41. package/docs/images/inheritance_tree.png +0 -0
  42. package/docs/images/jsoneditor.png +0 -0
  43. package/docs/imask.html +192 -0
  44. package/docs/index.html +579 -0
  45. package/docs/materialize_css.html +164 -0
  46. package/docs/meta_schema.json +705 -0
  47. package/docs/multiple_upload_base64.html +65 -0
  48. package/docs/person.json +73 -0
  49. package/docs/polyfills/assign.js +29 -0
  50. package/docs/radio.html +156 -0
  51. package/docs/recursive.html +170 -0
  52. package/docs/select2.html +99 -0
  53. package/docs/selectize.html +100 -0
  54. package/docs/signature.html +42 -0
  55. package/docs/starrating.html +137 -0
  56. package/docs/upload.html +131 -0
  57. package/docs/uuid.html +70 -0
  58. package/docs/wysiwyg.html +56 -0
  59. package/jasmine.json +11 -0
  60. package/json-editor-json-editor-2.5.3-wb13.tgz +0 -0
  61. package/package.json +100 -0
  62. package/release-notes.md +88 -0
  63. package/src/core.js +412 -0
  64. package/src/defaults.js +402 -0
  65. package/src/editor.js +707 -0
  66. package/src/editors/ace.js +89 -0
  67. package/src/editors/array/choices.js +103 -0
  68. package/src/editors/array/select2.js +110 -0
  69. package/src/editors/array/selectize.js +103 -0
  70. package/src/editors/array.css +9 -0
  71. package/src/editors/array.css.js +3 -0
  72. package/src/editors/array.js +818 -0
  73. package/src/editors/autocomplete.js +58 -0
  74. package/src/editors/base64.js +157 -0
  75. package/src/editors/button.js +97 -0
  76. package/src/editors/checkbox.js +95 -0
  77. package/src/editors/choices.css +3 -0
  78. package/src/editors/choices.css.js +3 -0
  79. package/src/editors/choices.js +69 -0
  80. package/src/editors/colorpicker.js +103 -0
  81. package/src/editors/datetime.js +141 -0
  82. package/src/editors/describedby.js +188 -0
  83. package/src/editors/enum.js +136 -0
  84. package/src/editors/hidden.js +127 -0
  85. package/src/editors/index.js +81 -0
  86. package/src/editors/info.js +20 -0
  87. package/src/editors/integer.js +19 -0
  88. package/src/editors/ip.js +36 -0
  89. package/src/editors/jodit.js +64 -0
  90. package/src/editors/multiple.js +409 -0
  91. package/src/editors/multiselect.js +218 -0
  92. package/src/editors/null.js +18 -0
  93. package/src/editors/number.js +51 -0
  94. package/src/editors/object.css +41 -0
  95. package/src/editors/object.css.js +3 -0
  96. package/src/editors/object.js +1290 -0
  97. package/src/editors/radio.js +111 -0
  98. package/src/editors/sceditor.js +72 -0
  99. package/src/editors/select.js +370 -0
  100. package/src/editors/select2.js +110 -0
  101. package/src/editors/selectize.js +112 -0
  102. package/src/editors/signature.js +113 -0
  103. package/src/editors/simplemde.js +100 -0
  104. package/src/editors/starrating.css +52 -0
  105. package/src/editors/starrating.css.js +3 -0
  106. package/src/editors/starrating.js +135 -0
  107. package/src/editors/stepper.js +27 -0
  108. package/src/editors/string.js +372 -0
  109. package/src/editors/table.js +516 -0
  110. package/src/editors/upload.js +321 -0
  111. package/src/editors/uuid.js +56 -0
  112. package/src/iconlib.js +24 -0
  113. package/src/iconlibs/bootstrap2.js +28 -0
  114. package/src/iconlibs/bootstrap3.js +28 -0
  115. package/src/iconlibs/fontawesome3.js +28 -0
  116. package/src/iconlibs/fontawesome4.js +28 -0
  117. package/src/iconlibs/fontawesome5.js +28 -0
  118. package/src/iconlibs/foundation2.js +24 -0
  119. package/src/iconlibs/foundation3.js +28 -0
  120. package/src/iconlibs/index.js +25 -0
  121. package/src/iconlibs/jqueryui.js +28 -0
  122. package/src/iconlibs/materialicons.js +49 -0
  123. package/src/iconlibs/openiconic.js +28 -0
  124. package/src/iconlibs/spectre.js +28 -0
  125. package/src/resolvers.js +128 -0
  126. package/src/schemaloader.js +408 -0
  127. package/src/style.css +150 -0
  128. package/src/style.css.js +3 -0
  129. package/src/templates/default.js +52 -0
  130. package/src/templates/ejs.js +13 -0
  131. package/src/templates/handlebars.js +1 -0
  132. package/src/templates/hogan.js +10 -0
  133. package/src/templates/index.js +21 -0
  134. package/src/templates/lodash.js +9 -0
  135. package/src/templates/markup.js +9 -0
  136. package/src/templates/mustache.js +9 -0
  137. package/src/templates/swig.js +1 -0
  138. package/src/templates/underscore.js +9 -0
  139. package/src/theme.js +659 -0
  140. package/src/themes/barebones.css +35 -0
  141. package/src/themes/barebones.css.js +3 -0
  142. package/src/themes/barebones.js +28 -0
  143. package/src/themes/bootstrap2.js +319 -0
  144. package/src/themes/bootstrap3.css +0 -0
  145. package/src/themes/bootstrap3.css.js +3 -0
  146. package/src/themes/bootstrap3.js +315 -0
  147. package/src/themes/bootstrap4.css +89 -0
  148. package/src/themes/bootstrap4.css.js +3 -0
  149. package/src/themes/bootstrap4.js +690 -0
  150. package/src/themes/bootstrap5.css.js +3 -0
  151. package/src/themes/foundation.js +569 -0
  152. package/src/themes/html.css +60 -0
  153. package/src/themes/html.css.js +3 -0
  154. package/src/themes/html.js +71 -0
  155. package/src/themes/index.js +28 -0
  156. package/src/themes/jqueryui.js +198 -0
  157. package/src/themes/materialize.js +426 -0
  158. package/src/themes/spectre.css +208 -0
  159. package/src/themes/spectre.css.js +3 -0
  160. package/src/themes/spectre.js +406 -0
  161. package/src/themes/tailwind.css +249 -0
  162. package/src/themes/tailwind.css.js +3 -0
  163. package/src/themes/tailwind.js +443 -0
  164. package/src/utilities.js +138 -0
  165. package/src/validator.js +877 -0
  166. package/src/validators/ip-validator.js +51 -0
  167. package/tests/Dockerfile +3 -0
  168. package/tests/README.md +48 -0
  169. package/tests/codeceptjs/codecept.json +42 -0
  170. package/tests/codeceptjs/constrains/if-then-else_test.js +143 -0
  171. package/tests/codeceptjs/core_test.js +217 -0
  172. package/tests/codeceptjs/editors/advanced_test.js +13 -0
  173. package/tests/codeceptjs/editors/array_any_of_test.js +50 -0
  174. package/tests/codeceptjs/editors/array_test.js +900 -0
  175. package/tests/codeceptjs/editors/button_test.js +35 -0
  176. package/tests/codeceptjs/editors/checkbox_test.js +21 -0
  177. package/tests/codeceptjs/editors/colorpicker_test.js +27 -0
  178. package/tests/codeceptjs/editors/datetime_test.js +33 -0
  179. package/tests/codeceptjs/editors/inheritance_test.js +11 -0
  180. package/tests/codeceptjs/editors/integer_test.js +84 -0
  181. package/tests/codeceptjs/editors/issues/issue-gh-812_test.js +32 -0
  182. package/tests/codeceptjs/editors/jodit_test.js +24 -0
  183. package/tests/codeceptjs/editors/multiselect_test.js +8 -0
  184. package/tests/codeceptjs/editors/number_test.js +82 -0
  185. package/tests/codeceptjs/editors/object_test.js +204 -0
  186. package/tests/codeceptjs/editors/option-no_default_values_test.js +42 -0
  187. package/tests/codeceptjs/editors/programmatic-changes_test.js +20 -0
  188. package/tests/codeceptjs/editors/radio_test.js +10 -0
  189. package/tests/codeceptjs/editors/rating_test.js +13 -0
  190. package/tests/codeceptjs/editors/select_test.js +22 -0
  191. package/tests/codeceptjs/editors/stepper_test.js +27 -0
  192. package/tests/codeceptjs/editors/string_test.js +118 -0
  193. package/tests/codeceptjs/editors/table-confirm-delete_test.js +67 -0
  194. package/tests/codeceptjs/editors/tabs_test.js +14 -0
  195. package/tests/codeceptjs/editors/uuid_test.js +21 -0
  196. package/tests/codeceptjs/editors/validation_test.js +14 -0
  197. package/tests/codeceptjs/meta-schema_test.js +17 -0
  198. package/tests/codeceptjs/schemaloader_test.js +13 -0
  199. package/tests/codeceptjs/steps.d.ts +13 -0
  200. package/tests/codeceptjs/steps_file.js +12 -0
  201. package/tests/codeceptjs/themes_test.js +519 -0
  202. package/tests/docker-compose.yml +34 -0
  203. package/tests/fixtures/basic_person.json +26 -0
  204. package/tests/fixtures/nested_object.json +26 -0
  205. package/tests/fixtures/person.json +55 -0
  206. package/tests/fixtures/recursive.json +8 -0
  207. package/tests/fixtures/some_types.json +32 -0
  208. package/tests/fixtures/string.json +3 -0
  209. package/tests/fixtures/validation.json +1140 -0
  210. package/tests/pages/_demo.html +475 -0
  211. package/tests/pages/advanced.html +137 -0
  212. package/tests/pages/anyof.html +80 -0
  213. package/tests/pages/array-anyof.html +142 -0
  214. package/tests/pages/array-checkboxes.html +41 -0
  215. package/tests/pages/array-choices.html +45 -0
  216. package/tests/pages/array-integers.html +37 -0
  217. package/tests/pages/array-move-events.html +61 -0
  218. package/tests/pages/array-multiselects.html +42 -0
  219. package/tests/pages/array-nested-arrays.html +40 -0
  220. package/tests/pages/array-numbers.html +37 -0
  221. package/tests/pages/array-objects.html +42 -0
  222. package/tests/pages/array-ratings.html +40 -0
  223. package/tests/pages/array-selectize.html +51 -0
  224. package/tests/pages/array-selects.html +36 -0
  225. package/tests/pages/array-strings.html +36 -0
  226. package/tests/pages/array.html +42 -0
  227. package/tests/pages/assets/pages.css +130 -0
  228. package/tests/pages/button-callbacks.html +77 -0
  229. package/tests/pages/checkbox-labels.html +114 -0
  230. package/tests/pages/colorpicker-no-3rd-party.html +43 -0
  231. package/tests/pages/colorpicker-use-vanilla-picker.html +50 -0
  232. package/tests/pages/core.html +118 -0
  233. package/tests/pages/datetime.html +76 -0
  234. package/tests/pages/form-name.html +108 -0
  235. package/tests/pages/grid-strict.html +311 -0
  236. package/tests/pages/grid.html +284 -0
  237. package/tests/pages/if-then-else-allOf.html +117 -0
  238. package/tests/pages/inheritance.html +76 -0
  239. package/tests/pages/integer.html +68 -0
  240. package/tests/pages/issues/_template.html +50 -0
  241. package/tests/pages/issues/issue-gh-812.html +110 -0
  242. package/tests/pages/issues/issue-gh-823-meta-schema.html +35 -0
  243. package/tests/pages/issues/issue-gh-848.html +81 -0
  244. package/tests/pages/meta_schema.json +705 -0
  245. package/tests/pages/number.html +89 -0
  246. package/tests/pages/object-no-additional-properties.html +65 -0
  247. package/tests/pages/object-no-duplicated-id.html +68 -0
  248. package/tests/pages/object-required-properties.html +236 -0
  249. package/tests/pages/object-with-dependencies-array.html +46 -0
  250. package/tests/pages/object-with-dependencies.html +60 -0
  251. package/tests/pages/object.html +79 -0
  252. package/tests/pages/oneof.html +103 -0
  253. package/tests/pages/option-no_default_values.html +58 -0
  254. package/tests/pages/programmatic-changes.html +120 -0
  255. package/tests/pages/read-only.html +105 -0
  256. package/tests/pages/select.html +41 -0
  257. package/tests/pages/stepper.html +59 -0
  258. package/tests/pages/string-ace-editor.html +52 -0
  259. package/tests/pages/string-cleave.html +46 -0
  260. package/tests/pages/string-custom-attributes.html +62 -0
  261. package/tests/pages/string-formats.html +52 -0
  262. package/tests/pages/string-formats2.html +57 -0
  263. package/tests/pages/string-jodit-editor.html +49 -0
  264. package/tests/pages/string-sceditor.html +62 -0
  265. package/tests/pages/table-move-events.html +56 -0
  266. package/tests/pages/table.html +46 -0
  267. package/tests/pages/tabs.html +131 -0
  268. package/tests/pages/themes.html +527 -0
  269. package/tests/pages/translate-property.html +247 -0
  270. package/tests/pages/urn.html +93 -0
  271. package/tests/pages/uuid.html +72 -0
  272. package/tests/pages/validation.html +99 -0
  273. package/tests/unit/.eslintrc +8 -0
  274. package/tests/unit/core.spec.js +309 -0
  275. package/tests/unit/defaults.spec.js +40 -0
  276. package/tests/unit/editor.spec.js +160 -0
  277. package/tests/unit/editors/array.spec.js +86 -0
  278. package/tests/unit/editors/object.spec.js +79 -0
  279. package/tests/unit/editors/table.spec.js +91 -0
  280. package/tests/unit/readme.md +35 -0
  281. package/tests/unit/schemaloader.spec.js +498 -0
  282. package/tests/unit/validator.spec.js +94 -0
  283. package/tests/unit/validators/ip-validator.spec.js +62 -0
@@ -0,0 +1,519 @@
1
+ /* global Feature Scenario */
2
+
3
+ Feature('themes')
4
+
5
+ // nothing
6
+
7
+ Scenario('It should display button Labels: null | null', async (I) => {
8
+ I.amOnPage('themes.html')
9
+ I.waitForText('Themes Test Page')
10
+ I.waitForText('Collapse')
11
+ I.waitForText('Edit JSON')
12
+ I.waitForText('Object Properties')
13
+ I.waitForText('Delete item')
14
+ I.waitForText('Delete Last item')
15
+ I.waitForText('Delete All')
16
+ I.waitForText('Move down')
17
+ I.waitForText('Move up')
18
+ })
19
+
20
+ // only themes
21
+
22
+ Scenario('It should display button Labels: barebones | null', async (I) => {
23
+ I.amOnPage('themes.html')
24
+ I.waitForText('Themes Test Page')
25
+ I.waitForText('Collapse')
26
+ I.waitForText('Edit JSON')
27
+ I.waitForText('Object Properties')
28
+ I.waitForText('Delete item')
29
+ I.waitForText('Delete Last item')
30
+ I.waitForText('Delete All')
31
+ I.waitForText('Move down')
32
+ I.waitForText('Move up')
33
+ })
34
+
35
+ Scenario('It should display button Labels: spectre | null', async (I) => {
36
+ I.amOnPage('themes.html')
37
+ I.selectOption('theme', 'Spectre')
38
+ I.waitForText('Themes Test Page')
39
+ I.waitForText('Collapse')
40
+ I.waitForText('Edit JSON')
41
+ I.waitForText('Object Properties')
42
+ I.waitForText('Delete item')
43
+ I.waitForText('Delete Last item')
44
+ I.waitForText('Delete All')
45
+ I.waitForText('Move down')
46
+ I.waitForText('Move up')
47
+ I.seeElement('.table-striped') // can see when theme options is enabled
48
+ I.seeElement('.je-table-border') // can see when theme options is enabled
49
+ I.dontSeeElement('.je-noindent') // can't see when theme options is enabled
50
+ })
51
+
52
+ /*
53
+ Scenario('It should display button Labels: materialize | null', async (I) => {
54
+ I.amOnPage('themes.html')
55
+ I.selectOption('theme', 'Materialize')
56
+ I.waitForText('Themes Test Page')
57
+ I.waitForText('COLLAPSE')
58
+ I.waitForText('EDIT JSON')
59
+ I.waitForText('OBJECT PROPERTIES')
60
+ I.waitForText('DELETE ITEM')
61
+ I.waitForText('DELETE LAST ITEM')
62
+ I.waitForText('DELETE ALL')
63
+ I.waitForText('MOVE DOWN')
64
+ I.waitForText('MOVE UP')
65
+ })
66
+ */
67
+ /*
68
+ Scenario('It should display button Labels: jqueryui | null', async (I) => {
69
+ I.amOnPage('themes.html')
70
+ I.selectOption('theme', 'jQuery UI')
71
+ I.waitForText('Themes Test Page')
72
+ I.waitForText('Collapse')
73
+ I.waitForText('Edit JSON')
74
+ I.waitForText('Object Properties')
75
+ I.waitForText('Delete item')
76
+ I.waitForText('Delete Last item')
77
+ I.waitForText('Delete All')
78
+ I.waitForText('Move down')
79
+ I.waitForText('Move up')
80
+ })
81
+ */
82
+
83
+ /*
84
+ Scenario('It should display button Labels: foundation6 | null', async (I) => {
85
+ I.amOnPage('themes.html')
86
+ I.selectOption('theme', 'Foundation 6')
87
+ I.waitForText('Themes Test Page')
88
+ I.waitForText('Collapse')
89
+ I.waitForText('Edit JSON')
90
+ I.waitForText('Object Properties')
91
+ I.waitForText('Delete item')
92
+ I.waitForText('Delete Last item')
93
+ I.waitForText('Delete All')
94
+ I.waitForText('Move down')
95
+ I.waitForText('Move up')
96
+ })
97
+
98
+ Scenario('It should display button Labels: foundation5 | null', async (I) => {
99
+ I.amOnPage('themes.html')
100
+ I.selectOption('theme', 'Foundation 5')
101
+ I.waitForText('Themes Test Page')
102
+ I.waitForText('Collapse')
103
+ I.waitForText('Edit JSON')
104
+ I.waitForText('Object Properties')
105
+ I.waitForText('Delete item')
106
+ I.waitForText('Delete Last item')
107
+ I.waitForText('Delete All')
108
+ I.waitForText('Move down')
109
+ I.waitForText('Move up')
110
+ })
111
+
112
+ Scenario('It should display button Labels: foundation4 | null', async (I) => {
113
+ I.amOnPage('themes.html')
114
+ I.selectOption('theme', 'Foundation 4')
115
+ I.waitForText('Themes Test Page')
116
+ I.waitForText('Collapse')
117
+ I.waitForText('Edit JSON')
118
+ I.waitForText('Object Properties')
119
+ I.waitForText('Delete item')
120
+ I.waitForText('Delete Last item')
121
+ I.waitForText('Delete All')
122
+ I.waitForText('Move down')
123
+ I.waitForText('Move up')
124
+ })
125
+
126
+ Scenario('It should display button Labels: foundation3 | null', async (I) => {
127
+ I.amOnPage('themes.html')
128
+ I.selectOption('theme', 'Foundation 3')
129
+ I.waitForText('Themes Test Page')
130
+ I.waitForText('Collapse')
131
+ I.waitForText('Edit JSON')
132
+ I.waitForText('Object Properties')
133
+ I.waitForText('Delete item')
134
+ I.waitForText('Delete Last item')
135
+ I.waitForText('Delete All')
136
+ I.waitForText('Move down')
137
+ I.waitForText('Move up')
138
+ })
139
+ */
140
+
141
+ Scenario('It should display button Labels: bootstrap4 | null', async (I) => {
142
+ I.amOnPage('themes.html')
143
+ I.selectOption('theme', 'Bootstrap 4')
144
+ I.waitForText('Themes Test Page')
145
+ I.waitForText('Collapse')
146
+ I.waitForText('Edit JSON')
147
+ I.waitForText('Object Properties')
148
+ I.waitForText('Delete item')
149
+ I.waitForText('Delete Last item')
150
+ I.waitForText('Delete All')
151
+ I.waitForText('Move down')
152
+ I.waitForText('Move up')
153
+ })
154
+
155
+ Scenario('It should display button Labels: bootstrap3 | null', async (I) => {
156
+ I.amOnPage('themes.html')
157
+ I.selectOption('theme', 'Bootstrap 3')
158
+ I.waitForText('Themes Test Page')
159
+ I.waitForText('Collapse')
160
+ I.waitForText('Edit JSON')
161
+ I.waitForText('Object Properties')
162
+ I.waitForText('Delete item')
163
+ I.waitForText('Delete Last item')
164
+ I.waitForText('Delete All')
165
+ I.waitForText('Move down')
166
+ I.waitForText('Move up')
167
+ })
168
+ /*
169
+ Scenario('It should display button Labels: bootstrap2 | null', async (I) => {
170
+ I.amOnPage('themes.html')
171
+ I.selectOption('theme', 'Bootstrap 2')
172
+ I.waitForText('Themes Test Page')
173
+ I.waitForText('Collapse')
174
+ I.waitForText('Edit JSON')
175
+ I.waitForText('Object Properties')
176
+ I.waitForText('Delete item')
177
+ I.waitForText('Delete Last item')
178
+ I.waitForText('Delete All')
179
+ I.waitForText('Move down')
180
+ I.waitForText('Move up')
181
+ })
182
+ */
183
+ // only icons
184
+
185
+ /*
186
+ Scenario('It should hide button Labels: null | bootstrap2', async (I) => {
187
+ I.amOnPage('themes.html')
188
+ I.selectOption('iconlib', 'Bootstrap 2')
189
+ I.waitForText('Themes Test Page')
190
+ I.dontSee('Collapse')
191
+ I.dontSee('Edit JSON')
192
+ I.dontSee('Object Properties')
193
+ I.dontSee('Delete item')
194
+ I.dontSee('Delete Last item')
195
+ I.dontSee('Delete All')
196
+ I.dontSee('Move down')
197
+ I.dontSee('Move up')
198
+
199
+ I.click('Collapse')
200
+ I.seeElementInDOM('i.icon-chevron-down')
201
+ I.seeElementInDOM('i.icon-chevron-up')
202
+ I.seeElementInDOM('i.icon-trash')
203
+ I.seeElementInDOM('i.icon-pencil')
204
+ I.seeElementInDOM('i.icon-plus')
205
+ I.seeElementInDOM('i.icon-minus')
206
+ I.seeElementInDOM('i.icon-ban-circle')
207
+ I.seeElementInDOM('i.icon-ok')
208
+ I.seeElementInDOM('i.icon-arrow-up')
209
+ I.seeElementInDOM('i.icon-arrow-right')
210
+ I.seeElementInDOM('i.icon-arrow-down')
211
+ I.seeElementInDOM('i.icon-arrow-left')
212
+ I.seeElementInDOM('i.icon-copy')
213
+ I.seeElementInDOM('i.icon-list')
214
+ })
215
+ */
216
+ Scenario('It should hide button Labels: null | bootstrap3', async (I) => {
217
+ I.amOnPage('themes.html')
218
+ I.selectOption('iconlib', 'Bootstrap 3')
219
+ I.waitForText('Themes Test Page')
220
+ I.dontSee('Collapse')
221
+ I.dontSee('Edit JSON')
222
+ I.dontSee('Object Properties')
223
+ I.dontSee('Delete item')
224
+ I.dontSee('Delete Last item')
225
+ I.dontSee('Delete All')
226
+ I.dontSee('Move down')
227
+ I.dontSee('Move up')
228
+
229
+ I.click('Collapse')
230
+ I.seeElementInDOM('i.glyphicon.glyphicon-chevron-down')
231
+ I.seeElementInDOM('i.glyphicon.glyphicon-chevron-right')
232
+ I.seeElementInDOM('i.glyphicon.glyphicon-trash')
233
+ I.seeElementInDOM('i.glyphicon.glyphicon-pencil')
234
+ I.seeElementInDOM('i.glyphicon.glyphicon-plus')
235
+ I.seeElementInDOM('i.glyphicon.glyphicon-minus')
236
+ I.seeElementInDOM('i.glyphicon.glyphicon-floppy-remove')
237
+ I.seeElementInDOM('i.glyphicon.glyphicon-floppy-saved')
238
+ I.seeElementInDOM('i.glyphicon.glyphicon-arrow-up')
239
+ I.seeElementInDOM('i.glyphicon.glyphicon-arrow-right')
240
+ I.seeElementInDOM('i.glyphicon.glyphicon-arrow-down')
241
+ I.seeElementInDOM('i.glyphicon.glyphicon-arrow-left')
242
+ I.seeElementInDOM('i.glyphicon.glyphicon-copy')
243
+ I.seeElementInDOM('i.glyphicon.glyphicon-list')
244
+ })
245
+ /*
246
+ Scenario('It should hide button Labels: null | fontawesome3', async (I) => {
247
+ I.amOnPage('themes.html')
248
+ I.selectOption('iconlib', 'fontawesome 3')
249
+ I.waitForText('Themes Test Page')
250
+ I.dontSee('Collapse')
251
+ I.dontSee('Edit JSON')
252
+ I.dontSee('Object Properties')
253
+ I.dontSee('Delete item')
254
+ I.dontSee('Delete Last item')
255
+ I.dontSee('Delete All')
256
+ I.dontSee('Move down')
257
+ I.dontSee('Move up')
258
+
259
+ I.click('Collapse')
260
+ I.seeElementInDOM('i.icon-chevron-down')
261
+ I.seeElementInDOM('i.icon-chevron-right')
262
+ I.seeElementInDOM('i.icon-trash')
263
+ I.seeElementInDOM('i.icon-pencil')
264
+ I.seeElementInDOM('i.icon-plus')
265
+ I.seeElementInDOM('i.icon-minus')
266
+ I.seeElementInDOM('i.icon-ban-circle')
267
+ I.seeElementInDOM('i.icon-save')
268
+ I.seeElementInDOM('i.icon-arrow-up')
269
+ I.seeElementInDOM('i.icon-arrow-right')
270
+ I.seeElementInDOM('i.icon-arrow-down')
271
+ I.seeElementInDOM('i.icon-arrow-left')
272
+ I.seeElementInDOM('i.icon-copy')
273
+ I.seeElementInDOM('i.icon-list')
274
+ })
275
+
276
+ Scenario('It should hide button Labels: null | fontawesome4', async (I) => {
277
+ I.amOnPage('themes.html')
278
+ I.selectOption('iconlib', 'fontawesome 4')
279
+ I.waitForText('Themes Test Page')
280
+ I.dontSee('Collapse')
281
+ I.dontSee('Edit JSON')
282
+ I.dontSee('Object Properties')
283
+ I.dontSee('Delete item')
284
+ I.dontSee('Delete Last item')
285
+ I.dontSee('Delete All')
286
+ I.dontSee('Move down')
287
+ I.dontSee('Move up')
288
+
289
+ I.click('Collapse')
290
+ I.seeElementInDOM('i.fa.fa-caret-square-o-down')
291
+ I.seeElementInDOM('i.fa.fa-caret-square-o-right')
292
+ I.seeElementInDOM('i.fa.fa-times')
293
+ I.seeElementInDOM('i.fa.fa-pencil')
294
+ I.seeElementInDOM('i.fa.fa-plus')
295
+ I.seeElementInDOM('i.fa.fa-minus')
296
+ I.seeElementInDOM('i.fa.fa-ban')
297
+ I.seeElementInDOM('i.fa.fa-save')
298
+ I.seeElementInDOM('i.fa.fa-arrow-up')
299
+ I.seeElementInDOM('i.fa.fa-arrow-right')
300
+ I.seeElementInDOM('i.fa.fa-arrow-down')
301
+ I.seeElementInDOM('i.fa.fa-arrow-left')
302
+ I.seeElementInDOM('i.fa.fa-files-o')
303
+ I.seeElementInDOM('i.fa.fa-list')
304
+ })
305
+
306
+ Scenario('It should hide button Labels: null | fontawesome5', async (I) => {
307
+ I.amOnPage('themes.html')
308
+ I.selectOption('iconlib', 'fontawesome 5')
309
+ I.waitForText('Themes Test Page')
310
+ I.dontSee('Collapse')
311
+ I.dontSee('Edit JSON')
312
+ I.dontSee('Object Properties')
313
+ I.dontSee('Delete item')
314
+ I.dontSee('Delete Last item')
315
+ I.dontSee('Delete All')
316
+ I.dontSee('Move down')
317
+ I.dontSee('Move up')
318
+
319
+ I.click('Collapse')
320
+ I.seeElementInDOM('i.fas.fa-caret-down')
321
+ I.seeElementInDOM('i.fas.fa-caret-right')
322
+ I.seeElementInDOM('i.fas.fa-trash')
323
+ I.seeElementInDOM('i.fas.fa-pen')
324
+ I.seeElementInDOM('i.fas.fa-plus')
325
+ I.seeElementInDOM('i.fas.fa-minus')
326
+ I.seeElementInDOM('i.fas.fa-ban')
327
+ I.seeElementInDOM('i.fas.fa-save')
328
+ I.seeElementInDOM('i.fas.fa-arrow-up')
329
+ I.seeElementInDOM('i.fas.fa-arrow-right')
330
+ I.seeElementInDOM('i.fas.fa-arrow-down')
331
+ I.seeElementInDOM('i.fas.fa-arrow-left')
332
+ I.seeElementInDOM('i.fas.fa-copy')
333
+ I.seeElementInDOM('i.fas.fa-list')
334
+ })
335
+
336
+ Scenario('It should hide button Labels: null | foundation3', async (I) => {
337
+ I.amOnPage('themes.html')
338
+ I.selectOption('iconlib', 'Foundation 3')
339
+ I.waitForText('Themes Test Page')
340
+ I.dontSee('Collapse')
341
+ I.dontSee('Edit JSON')
342
+ I.dontSee('Object Properties')
343
+ I.dontSee('Delete item')
344
+ I.dontSee('Delete Last item')
345
+ I.dontSee('Delete All')
346
+ I.dontSee('Move down')
347
+ I.dontSee('Move up')
348
+
349
+ I.click('Collapse')
350
+ I.seeElementInDOM('i.fi-minus')
351
+ I.seeElementInDOM('i.fi-plus')
352
+ I.seeElementInDOM('i.fi-trash')
353
+ I.seeElementInDOM('i.fi-pencil')
354
+ I.seeElementInDOM('i.fi-plus')
355
+ I.seeElementInDOM('i.fi-minus')
356
+ I.seeElementInDOM('i.fi-x-circle')
357
+ I.seeElementInDOM('i.fi-save')
358
+ I.seeElementInDOM('i.fi-arrow-up')
359
+ I.seeElementInDOM('i.fi-arrow-right')
360
+ I.seeElementInDOM('i.fi-arrow-down')
361
+ I.seeElementInDOM('i.fi-arrow-left')
362
+ I.seeElementInDOM('i.fi-page-copy')
363
+ I.seeElementInDOM('i.fi-list')
364
+ })
365
+
366
+ Scenario('It should hide button Labels: null | jqueryui', async (I) => {
367
+ I.amOnPage('themes.html')
368
+ I.selectOption('iconlib', 'jQuery UI')
369
+ I.waitForText('Themes Test Page')
370
+ I.dontSee('Collapse')
371
+ I.dontSee('Edit JSON')
372
+ I.dontSee('Object Properties')
373
+ I.dontSee('Delete item')
374
+ I.dontSee('Delete Last item')
375
+ I.dontSee('Delete All')
376
+ I.dontSee('Move down')
377
+ I.dontSee('Move up')
378
+
379
+ I.click('Collapse')
380
+ I.seeElementInDOM('i.ui-icon.ui-icon-triangle-1-s')
381
+ I.seeElementInDOM('i.ui-icon.ui-icon-triangle-1-e')
382
+ I.seeElementInDOM('i.ui-icon.ui-icon-trash')
383
+ I.seeElementInDOM('i.ui-icon.ui-icon-pencil')
384
+ I.seeElementInDOM('i.ui-icon.ui-icon-plusthick')
385
+ I.seeElementInDOM('i.ui-icon.ui-icon-minusthick')
386
+ I.seeElementInDOM('i.ui-icon.ui-icon-closethick')
387
+ I.seeElementInDOM('i.ui-icon.ui-icon-disk')
388
+ I.seeElementInDOM('i.ui-icon.ui-icon-arrowthick-1-n')
389
+ I.seeElementInDOM('i.ui-icon.ui-icon-arrowthick-1-e')
390
+ I.seeElementInDOM('i.ui-icon.ui-icon-arrowthick-1-s')
391
+ I.seeElementInDOM('i.ui-icon.ui-icon-arrowthick-1-w')
392
+ I.seeElementInDOM('i.ui-icon.ui-icon-copy')
393
+ I.seeElementInDOM('i.ui-icon.ui-icon-note')
394
+ })
395
+
396
+ Scenario('It should hide button Labels: null | materialicons', async (I) => {
397
+ I.amOnPage('themes.html')
398
+ I.selectOption('iconlib', 'Material icons')
399
+ I.waitForText('Themes Test Page')
400
+ I.dontSee('Collapse')
401
+ I.dontSee('Edit JSON')
402
+ I.dontSee('Object Properties')
403
+ I.dontSee('Delete item')
404
+ I.dontSee('Delete Last item')
405
+ I.dontSee('Delete All')
406
+ I.dontSee('Move down')
407
+ I.dontSee('Move up')
408
+
409
+ I.waitForText('arrow_drop_up', 'i.material-icons')
410
+ I.waitForText('delete', 'i.material-icons')
411
+ I.waitForText('edit', 'i.material-icons')
412
+ I.waitForText('add', 'i.material-icons')
413
+ I.waitForText('remove', 'i.material-icons')
414
+ I.waitForText('arrow_upward', 'i.material-icons')
415
+ I.waitForText('arrow_downward', 'i.material-icons')
416
+ I.waitForText('arrow_forward', 'i.material-icons')
417
+ I.click('#root\\.arraycasetabstop\\.arraytest\\.1')
418
+ I.waitForText('arrow_back', 'i.material-icons')
419
+ I.waitForText('list', 'i.material-icons')
420
+ I.click('Edit JSON')
421
+ I.waitForText('save', 'i.material-icons')
422
+ I.waitForText('content_copy', 'i.material-icons')
423
+ I.waitForText('cancel', 'i.material-icons')
424
+ I.click('Collapse')
425
+ I.waitForText('arrow_drop_down', 'i.material-icons')
426
+ })
427
+
428
+ Scenario('It should hide button Labels: null | openiconic', async (I) => {
429
+ I.amOnPage('themes.html')
430
+ I.selectOption('iconlib', 'Open Iconic')
431
+ I.waitForText('Themes Test Page')
432
+ I.dontSee('Collapse')
433
+ I.dontSee('Edit JSON')
434
+ I.dontSee('Object Properties')
435
+ I.dontSee('Delete item')
436
+ I.dontSee('Delete Last item')
437
+ I.dontSee('Delete All')
438
+ I.dontSee('Move down')
439
+ I.dontSee('Move up')
440
+
441
+ I.click('Collapse')
442
+ I.seeElementInDOM('i.oi-icon.oi-icon-collapse-down')
443
+ I.seeElementInDOM('i.oi-icon.oi-icon-expand-right')
444
+ I.seeElementInDOM('i.oi-icon.oi-icon-trash')
445
+ I.seeElementInDOM('i.oi-icon.oi-icon-pencil')
446
+ I.seeElementInDOM('i.oi-icon.oi-icon-plus')
447
+ I.seeElementInDOM('i.oi-icon.oi-icon-minus')
448
+ I.seeElementInDOM('i.oi-icon.oi-icon-ban')
449
+ I.seeElementInDOM('i.oi-icon.oi-icon-file')
450
+ I.seeElementInDOM('i.oi-icon.oi-icon-arrow-thick-top')
451
+ I.seeElementInDOM('i.oi-icon.oi-icon-arrow-thick-right')
452
+ I.seeElementInDOM('i.oi-icon.oi-icon-arrow-thick-bottom')
453
+ I.seeElementInDOM('i.oi-icon.oi-icon-arrow-thick-left')
454
+ I.seeElementInDOM('i.oi-icon.oi-icon-clipboard')
455
+ I.seeElementInDOM('i.oi-icon.oi-icon-list')
456
+ })
457
+ */
458
+ Scenario('It should hide button Labels: null | spectre', async (I) => {
459
+ I.amOnPage('themes.html')
460
+ I.selectOption('iconlib', 'Spectre')
461
+ I.waitForText('Themes Test Page')
462
+ I.dontSee('Collapse')
463
+ I.dontSee('Edit JSON')
464
+ I.dontSee('Object Properties')
465
+ I.dontSee('Delete item')
466
+ I.dontSee('Delete Last item')
467
+ I.dontSee('Delete All')
468
+ I.dontSee('Move down')
469
+ I.dontSee('Move up')
470
+
471
+ I.click('.json-editor-btn-collapse')
472
+ I.seeElementInDOM('i.icon.icon-arrow-down')
473
+ I.seeElementInDOM('i.icon.icon-arrow-right')
474
+ I.seeElementInDOM('i.icon.icon-delete')
475
+ I.seeElementInDOM('i.icon.icon-edit')
476
+ I.seeElementInDOM('i.icon.icon-plus')
477
+ I.seeElementInDOM('i.icon.icon-minus')
478
+ I.seeElementInDOM('i.icon.icon-cross')
479
+ I.seeElementInDOM('i.icon.icon-check')
480
+ I.seeElementInDOM('i.icon.icon-upward')
481
+ I.seeElementInDOM('i.icon.icon-forward')
482
+ I.seeElementInDOM('i.icon.icon-downward')
483
+ I.seeElementInDOM('i.icon.icon-back')
484
+ I.seeElementInDOM('i.icon.icon-copy')
485
+ I.seeElementInDOM('i.icon.icon-menu')
486
+ })
487
+
488
+ // icons + themes
489
+
490
+ Scenario('It should hide button Labels: spectre | spectre', async (I) => {
491
+ I.amOnPage('themes.html')
492
+ I.selectOption('theme', 'Spectre')
493
+ I.selectOption('iconlib', 'Spectre')
494
+ I.waitForText('Themes Test Page')
495
+ I.dontSee('Collapse')
496
+ I.dontSee('Edit JSON')
497
+ I.dontSee('Object Properties')
498
+ I.dontSee('Delete item')
499
+ I.dontSee('Delete Last item')
500
+ I.dontSee('Delete All')
501
+ I.dontSee('Move down')
502
+ I.dontSee('Move up')
503
+
504
+ I.click('.json-editor-btn-collapse')
505
+ I.seeElementInDOM('i.icon.icon-arrow-down')
506
+ I.seeElementInDOM('i.icon.icon-arrow-right')
507
+ I.seeElementInDOM('i.icon.icon-delete')
508
+ I.seeElementInDOM('i.icon.icon-edit')
509
+ I.seeElementInDOM('i.icon.icon-plus')
510
+ I.seeElementInDOM('i.icon.icon-minus')
511
+ I.seeElementInDOM('i.icon.icon-cross')
512
+ I.seeElementInDOM('i.icon.icon-check')
513
+ I.seeElementInDOM('i.icon.icon-upward')
514
+ I.seeElementInDOM('i.icon.icon-forward')
515
+ I.seeElementInDOM('i.icon.icon-downward')
516
+ I.seeElementInDOM('i.icon.icon-back')
517
+ I.seeElementInDOM('i.icon.icon-copy')
518
+ I.seeElementInDOM('i.icon.icon-menu')
519
+ })
@@ -0,0 +1,34 @@
1
+ version: '3'
2
+ services:
3
+ node:
4
+ build: .
5
+ volumes:
6
+ - ../:/repo:delegated
7
+ working_dir: /repo/tests/codeceptjs
8
+ command: npm run serve-test
9
+ ports:
10
+ - '9100:9001'
11
+ expose:
12
+ - '9001'
13
+ firefox:
14
+ image: selenium/standalone-firefox-debug:3.141.59-20200525
15
+ depends_on:
16
+ - node
17
+ environment:
18
+ - VNC_NO_PASSWORD=1
19
+ ports:
20
+ - '4444'
21
+ - '9059:5900'
22
+ # Mount shm also for firefox, see https://github.com/SeleniumHQ/docker-selenium#running-the-images
23
+ shm_size: '2gb' # for windows environment
24
+ chrome:
25
+ image: selenium/standalone-chrome-debug:3.141.59-20200525
26
+ depends_on:
27
+ - node
28
+ environment:
29
+ - VNC_NO_PASSWORD=1
30
+ ports:
31
+ - '4444'
32
+ - '9060:5900'
33
+ # Mount shm also for firefox, see https://github.com/SeleniumHQ/docker-selenium#running-the-images
34
+ shm_size: '2gb' # for windows environment
@@ -0,0 +1,26 @@
1
+ {
2
+ "title": "Person",
3
+ "type": "object",
4
+ "id": "person",
5
+ "properties": {
6
+ "name": {
7
+ "type": "string",
8
+ "description": "First and Last name",
9
+ "minLength": 4
10
+ },
11
+ "age": {
12
+ "type": "integer",
13
+ "default": 21,
14
+ "minimum": 18,
15
+ "maximum": 99
16
+ },
17
+ "gender": {
18
+ "type": "string",
19
+ "enum": [
20
+ "male",
21
+ "female",
22
+ "other"
23
+ ]
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "foo1": {
5
+ "type": "object",
6
+ "properties": {
7
+ "foo2": {
8
+ "type": "object",
9
+ "properties": {
10
+ "foo3": {
11
+ "type": "object",
12
+ "properties": {
13
+ "foo4": {
14
+ "type": "object",
15
+ "properties": {
16
+ "bar": {"type": "string", "default": "end schema"}
17
+ }
18
+ }
19
+ }
20
+ }
21
+ }
22
+ }
23
+ }
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "$ref": "../fixtures/basic_person.json",
3
+ "properties": {
4
+ "location": {
5
+ "type": "object",
6
+ "title": "Location",
7
+ "properties": {
8
+ "city": {
9
+ "type": "string"
10
+ },
11
+ "state": {
12
+ "type": "string"
13
+ },
14
+ "citystate": {
15
+ "type": "string",
16
+ "description": "This is generated automatically from the previous two fields",
17
+ "template": "{{city}}, {{state}}",
18
+ "watch": {
19
+ "city": "person.location.city",
20
+ "state": "person.location.state"
21
+ }
22
+ }
23
+ }
24
+ },
25
+ "pets": {
26
+ "type": "array",
27
+ "format": "table",
28
+ "title": "Pets",
29
+ "uniqueItems": true,
30
+ "items": {
31
+ "type": "object",
32
+ "properties": {
33
+ "type": {
34
+ "type": "string",
35
+ "enum": [
36
+ "cat",
37
+ "dog",
38
+ "bird",
39
+ "reptile",
40
+ "other"
41
+ ],
42
+ "default": "dog"
43
+ },
44
+ "name": {
45
+ "type": "string"
46
+ },
47
+ "fixed": {
48
+ "type": "boolean",
49
+ "title": "spayed / neutered"
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "string": {
5
+ "$ref": "string.json"
6
+ }
7
+ }
8
+ }