vue2_frontend init..
This commit is contained in:
parent
810c2799a0
commit
69aea3aeb8
573
package-lock.json
generated
573
package-lock.json
generated
@ -12,6 +12,7 @@
|
|||||||
"bootstrap": "^5.2.0",
|
"bootstrap": "^5.2.0",
|
||||||
"bootstrap-vue": "^2.22.0",
|
"bootstrap-vue": "^2.22.0",
|
||||||
"core-js": "^3.8.3",
|
"core-js": "^3.8.3",
|
||||||
|
"vee-validate": "^3.4.14",
|
||||||
"vue": "^2.6.14",
|
"vue": "^2.6.14",
|
||||||
"vue-router": "^3.5.1",
|
"vue-router": "^3.5.1",
|
||||||
"vuex": "^3.6.2"
|
"vuex": "^3.6.2"
|
||||||
@ -2357,9 +2358,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/babel-helper-vue-jsx-merge-props": {
|
"node_modules/@vue/babel-helper-vue-jsx-merge-props": {
|
||||||
"version": "1.2.1",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz",
|
||||||
"integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==",
|
"integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@vue/babel-helper-vue-transform-on": {
|
"node_modules/@vue/babel-helper-vue-transform-on": {
|
||||||
@ -2386,14 +2387,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/babel-plugin-transform-vue-jsx": {
|
"node_modules/@vue/babel-plugin-transform-vue-jsx": {
|
||||||
"version": "1.2.1",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz",
|
||||||
"integrity": "sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==",
|
"integrity": "sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-module-imports": "^7.0.0",
|
"@babel/helper-module-imports": "^7.0.0",
|
||||||
"@babel/plugin-syntax-jsx": "^7.2.0",
|
"@babel/plugin-syntax-jsx": "^7.2.0",
|
||||||
"@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
|
"@vue/babel-helper-vue-jsx-merge-props": "^1.4.0",
|
||||||
"html-tags": "^2.0.0",
|
"html-tags": "^2.0.0",
|
||||||
"lodash.kebabcase": "^4.1.1",
|
"lodash.kebabcase": "^4.1.1",
|
||||||
"svg-tags": "^1.0.0"
|
"svg-tags": "^1.0.0"
|
||||||
@ -2464,19 +2465,19 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/babel-preset-jsx": {
|
"node_modules/@vue/babel-preset-jsx": {
|
||||||
"version": "1.3.1",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz",
|
||||||
"integrity": "sha512-ml+nqcSKp8uAqFZLNc7OWLMzR7xDBsUfkomF98DtiIBlLqlq4jCQoLINARhgqRIyKdB+mk/94NWpIb4pL6D3xw==",
|
"integrity": "sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
|
"@vue/babel-helper-vue-jsx-merge-props": "^1.4.0",
|
||||||
"@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
|
"@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
|
||||||
"@vue/babel-sugar-composition-api-inject-h": "^1.3.0",
|
"@vue/babel-sugar-composition-api-inject-h": "^1.4.0",
|
||||||
"@vue/babel-sugar-composition-api-render-instance": "^1.3.0",
|
"@vue/babel-sugar-composition-api-render-instance": "^1.4.0",
|
||||||
"@vue/babel-sugar-functional-vue": "^1.2.2",
|
"@vue/babel-sugar-functional-vue": "^1.4.0",
|
||||||
"@vue/babel-sugar-inject-h": "^1.2.2",
|
"@vue/babel-sugar-inject-h": "^1.4.0",
|
||||||
"@vue/babel-sugar-v-model": "^1.3.0",
|
"@vue/babel-sugar-v-model": "^1.4.0",
|
||||||
"@vue/babel-sugar-v-on": "^1.3.0"
|
"@vue/babel-sugar-v-on": "^1.4.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@babel/core": "^7.0.0-0",
|
"@babel/core": "^7.0.0-0",
|
||||||
@ -2489,9 +2490,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/babel-sugar-composition-api-inject-h": {
|
"node_modules/@vue/babel-sugar-composition-api-inject-h": {
|
||||||
"version": "1.3.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz",
|
||||||
"integrity": "sha512-pIDOutEpqbURdVw7xhgxmuDW8Tl+lTgzJZC5jdlUu0lY2+izT9kz3Umd/Tbu0U5cpCJ2Yhu87BZFBzWpS0Xemg==",
|
"integrity": "sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/plugin-syntax-jsx": "^7.2.0"
|
"@babel/plugin-syntax-jsx": "^7.2.0"
|
||||||
@ -2501,9 +2502,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/babel-sugar-composition-api-render-instance": {
|
"node_modules/@vue/babel-sugar-composition-api-render-instance": {
|
||||||
"version": "1.3.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz",
|
||||||
"integrity": "sha512-NYNnU2r7wkJLMV5p9Zj4pswmCs037O/N2+/Fs6SyX7aRFzXJRP1/2CZh5cIwQxWQajHXuCUd5mTb7DxoBVWyTg==",
|
"integrity": "sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/plugin-syntax-jsx": "^7.2.0"
|
"@babel/plugin-syntax-jsx": "^7.2.0"
|
||||||
@ -2513,9 +2514,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/babel-sugar-functional-vue": {
|
"node_modules/@vue/babel-sugar-functional-vue": {
|
||||||
"version": "1.2.2",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz",
|
||||||
"integrity": "sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==",
|
"integrity": "sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/plugin-syntax-jsx": "^7.2.0"
|
"@babel/plugin-syntax-jsx": "^7.2.0"
|
||||||
@ -2525,9 +2526,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/babel-sugar-inject-h": {
|
"node_modules/@vue/babel-sugar-inject-h": {
|
||||||
"version": "1.2.2",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz",
|
||||||
"integrity": "sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==",
|
"integrity": "sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/plugin-syntax-jsx": "^7.2.0"
|
"@babel/plugin-syntax-jsx": "^7.2.0"
|
||||||
@ -2537,14 +2538,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/babel-sugar-v-model": {
|
"node_modules/@vue/babel-sugar-v-model": {
|
||||||
"version": "1.3.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz",
|
||||||
"integrity": "sha512-zcsabmdX48JmxTObn3xmrvvdbEy8oo63DphVyA3WRYGp4SEvJRpu/IvZCVPl/dXLuob2xO/QRuncqPgHvZPzpA==",
|
"integrity": "sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/plugin-syntax-jsx": "^7.2.0",
|
"@babel/plugin-syntax-jsx": "^7.2.0",
|
||||||
"@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
|
"@vue/babel-helper-vue-jsx-merge-props": "^1.4.0",
|
||||||
"@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
|
"@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
|
||||||
"camelcase": "^5.0.0",
|
"camelcase": "^5.0.0",
|
||||||
"html-tags": "^2.0.0",
|
"html-tags": "^2.0.0",
|
||||||
"svg-tags": "^1.0.0"
|
"svg-tags": "^1.0.0"
|
||||||
@ -2572,13 +2573,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/babel-sugar-v-on": {
|
"node_modules/@vue/babel-sugar-v-on": {
|
||||||
"version": "1.3.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz",
|
||||||
"integrity": "sha512-8VZgrS0G5bh7+Prj7oJkzg9GvhSPnuW5YT6MNaVAEy4uwxRLJ8GqHenaStfllChTao4XZ3EZkNtHB4Xbr/ePdA==",
|
"integrity": "sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/plugin-syntax-jsx": "^7.2.0",
|
"@babel/plugin-syntax-jsx": "^7.2.0",
|
||||||
"@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
|
"@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
|
||||||
"camelcase": "^5.0.0"
|
"camelcase": "^5.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
@ -2634,121 +2635,6 @@
|
|||||||
"eslint": ">=7.5.0"
|
"eslint": ">=7.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/cli-plugin-eslint/node_modules/ajv": {
|
|
||||||
"version": "8.11.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
|
|
||||||
"integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"fast-deep-equal": "^3.1.1",
|
|
||||||
"json-schema-traverse": "^1.0.0",
|
|
||||||
"require-from-string": "^2.0.2",
|
|
||||||
"uri-js": "^4.2.2"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"type": "github",
|
|
||||||
"url": "https://github.com/sponsors/epoberezkin"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@vue/cli-plugin-eslint/node_modules/ajv-keywords": {
|
|
||||||
"version": "5.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
|
|
||||||
"integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"fast-deep-equal": "^3.1.3"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"ajv": "^8.8.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@vue/cli-plugin-eslint/node_modules/eslint-webpack-plugin": {
|
|
||||||
"version": "3.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz",
|
|
||||||
"integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@types/eslint": "^7.29.0 || ^8.4.1",
|
|
||||||
"jest-worker": "^28.0.2",
|
|
||||||
"micromatch": "^4.0.5",
|
|
||||||
"normalize-path": "^3.0.0",
|
|
||||||
"schema-utils": "^4.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 12.13.0"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"type": "opencollective",
|
|
||||||
"url": "https://opencollective.com/webpack"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"eslint": "^7.0.0 || ^8.0.0",
|
|
||||||
"webpack": "^5.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@vue/cli-plugin-eslint/node_modules/has-flag": {
|
|
||||||
"version": "4.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
|
||||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@vue/cli-plugin-eslint/node_modules/jest-worker": {
|
|
||||||
"version": "28.1.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz",
|
|
||||||
"integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@types/node": "*",
|
|
||||||
"merge-stream": "^2.0.0",
|
|
||||||
"supports-color": "^8.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@vue/cli-plugin-eslint/node_modules/json-schema-traverse": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
|
||||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/@vue/cli-plugin-eslint/node_modules/schema-utils": {
|
|
||||||
"version": "4.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
|
|
||||||
"integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@types/json-schema": "^7.0.9",
|
|
||||||
"ajv": "^8.8.0",
|
|
||||||
"ajv-formats": "^2.1.1",
|
|
||||||
"ajv-keywords": "^5.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 12.13.0"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"type": "opencollective",
|
|
||||||
"url": "https://opencollective.com/webpack"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@vue/cli-plugin-eslint/node_modules/supports-color": {
|
|
||||||
"version": "8.1.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
|
||||||
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"has-flag": "^4.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/chalk/supports-color?sponsor=1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@vue/cli-plugin-router": {
|
"node_modules/@vue/cli-plugin-router": {
|
||||||
"version": "5.0.8",
|
"version": "5.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz",
|
||||||
@ -4461,9 +4347,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/core-js-compat": {
|
"node_modules/core-js-compat": {
|
||||||
"version": "3.24.1",
|
"version": "3.25.0",
|
||||||
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz",
|
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.0.tgz",
|
||||||
"integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==",
|
"integrity": "sha512-extKQM0g8/3GjFx9US12FAgx8KJawB7RCQ5y8ipYLbmfzEzmFRWdDjIlxDx82g7ygcNG85qMVUSRyABouELdow==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.21.3",
|
"browserslist": "^4.21.3",
|
||||||
@ -5535,6 +5421,121 @@
|
|||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/eslint-webpack-plugin": {
|
||||||
|
"version": "3.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz",
|
||||||
|
"integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/eslint": "^7.29.0 || ^8.4.1",
|
||||||
|
"jest-worker": "^28.0.2",
|
||||||
|
"micromatch": "^4.0.5",
|
||||||
|
"normalize-path": "^3.0.0",
|
||||||
|
"schema-utils": "^4.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.13.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/webpack"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"eslint": "^7.0.0 || ^8.0.0",
|
||||||
|
"webpack": "^5.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/eslint-webpack-plugin/node_modules/ajv": {
|
||||||
|
"version": "8.11.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
|
||||||
|
"integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"fast-deep-equal": "^3.1.1",
|
||||||
|
"json-schema-traverse": "^1.0.0",
|
||||||
|
"require-from-string": "^2.0.2",
|
||||||
|
"uri-js": "^4.2.2"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/epoberezkin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": {
|
||||||
|
"version": "5.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
|
||||||
|
"integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"fast-deep-equal": "^3.1.3"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"ajv": "^8.8.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/eslint-webpack-plugin/node_modules/has-flag": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/eslint-webpack-plugin/node_modules/jest-worker": {
|
||||||
|
"version": "28.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz",
|
||||||
|
"integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/node": "*",
|
||||||
|
"merge-stream": "^2.0.0",
|
||||||
|
"supports-color": "^8.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/eslint-webpack-plugin/node_modules/schema-utils": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/json-schema": "^7.0.9",
|
||||||
|
"ajv": "^8.8.0",
|
||||||
|
"ajv-formats": "^2.1.1",
|
||||||
|
"ajv-keywords": "^5.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.13.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/webpack"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/eslint-webpack-plugin/node_modules/supports-color": {
|
||||||
|
"version": "8.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
||||||
|
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"has-flag": "^4.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/supports-color?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/eslint/node_modules/ansi-styles": {
|
"node_modules/eslint/node_modules/ansi-styles": {
|
||||||
"version": "4.3.0",
|
"version": "4.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||||
@ -10539,6 +10540,14 @@
|
|||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/vee-validate": {
|
||||||
|
"version": "3.4.14",
|
||||||
|
"resolved": "https://registry.npmjs.org/vee-validate/-/vee-validate-3.4.14.tgz",
|
||||||
|
"integrity": "sha512-Hqqic8G9WcRSIzCxiCPqMZv4qB8JE1lIQqIOLDm2K5BXUiL8d4a2+kqkanv8gQSGDzYpnCQZ7BO/T99Aj05T1Q==",
|
||||||
|
"peerDependencies": {
|
||||||
|
"vue": "^2.5.18"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/vue": {
|
"node_modules/vue": {
|
||||||
"version": "2.7.10",
|
"version": "2.7.10",
|
||||||
"resolved": "https://registry.npmjs.org/vue/-/vue-2.7.10.tgz",
|
"resolved": "https://registry.npmjs.org/vue/-/vue-2.7.10.tgz",
|
||||||
@ -13150,9 +13159,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/babel-helper-vue-jsx-merge-props": {
|
"@vue/babel-helper-vue-jsx-merge-props": {
|
||||||
"version": "1.2.1",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz",
|
||||||
"integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==",
|
"integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@vue/babel-helper-vue-transform-on": {
|
"@vue/babel-helper-vue-transform-on": {
|
||||||
@ -13179,14 +13188,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/babel-plugin-transform-vue-jsx": {
|
"@vue/babel-plugin-transform-vue-jsx": {
|
||||||
"version": "1.2.1",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz",
|
||||||
"integrity": "sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==",
|
"integrity": "sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/helper-module-imports": "^7.0.0",
|
"@babel/helper-module-imports": "^7.0.0",
|
||||||
"@babel/plugin-syntax-jsx": "^7.2.0",
|
"@babel/plugin-syntax-jsx": "^7.2.0",
|
||||||
"@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
|
"@vue/babel-helper-vue-jsx-merge-props": "^1.4.0",
|
||||||
"html-tags": "^2.0.0",
|
"html-tags": "^2.0.0",
|
||||||
"lodash.kebabcase": "^4.1.1",
|
"lodash.kebabcase": "^4.1.1",
|
||||||
"svg-tags": "^1.0.0"
|
"svg-tags": "^1.0.0"
|
||||||
@ -13236,66 +13245,66 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/babel-preset-jsx": {
|
"@vue/babel-preset-jsx": {
|
||||||
"version": "1.3.1",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz",
|
||||||
"integrity": "sha512-ml+nqcSKp8uAqFZLNc7OWLMzR7xDBsUfkomF98DtiIBlLqlq4jCQoLINARhgqRIyKdB+mk/94NWpIb4pL6D3xw==",
|
"integrity": "sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
|
"@vue/babel-helper-vue-jsx-merge-props": "^1.4.0",
|
||||||
"@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
|
"@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
|
||||||
"@vue/babel-sugar-composition-api-inject-h": "^1.3.0",
|
"@vue/babel-sugar-composition-api-inject-h": "^1.4.0",
|
||||||
"@vue/babel-sugar-composition-api-render-instance": "^1.3.0",
|
"@vue/babel-sugar-composition-api-render-instance": "^1.4.0",
|
||||||
"@vue/babel-sugar-functional-vue": "^1.2.2",
|
"@vue/babel-sugar-functional-vue": "^1.4.0",
|
||||||
"@vue/babel-sugar-inject-h": "^1.2.2",
|
"@vue/babel-sugar-inject-h": "^1.4.0",
|
||||||
"@vue/babel-sugar-v-model": "^1.3.0",
|
"@vue/babel-sugar-v-model": "^1.4.0",
|
||||||
"@vue/babel-sugar-v-on": "^1.3.0"
|
"@vue/babel-sugar-v-on": "^1.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/babel-sugar-composition-api-inject-h": {
|
"@vue/babel-sugar-composition-api-inject-h": {
|
||||||
"version": "1.3.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz",
|
||||||
"integrity": "sha512-pIDOutEpqbURdVw7xhgxmuDW8Tl+lTgzJZC5jdlUu0lY2+izT9kz3Umd/Tbu0U5cpCJ2Yhu87BZFBzWpS0Xemg==",
|
"integrity": "sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/plugin-syntax-jsx": "^7.2.0"
|
"@babel/plugin-syntax-jsx": "^7.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/babel-sugar-composition-api-render-instance": {
|
"@vue/babel-sugar-composition-api-render-instance": {
|
||||||
"version": "1.3.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz",
|
||||||
"integrity": "sha512-NYNnU2r7wkJLMV5p9Zj4pswmCs037O/N2+/Fs6SyX7aRFzXJRP1/2CZh5cIwQxWQajHXuCUd5mTb7DxoBVWyTg==",
|
"integrity": "sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/plugin-syntax-jsx": "^7.2.0"
|
"@babel/plugin-syntax-jsx": "^7.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/babel-sugar-functional-vue": {
|
"@vue/babel-sugar-functional-vue": {
|
||||||
"version": "1.2.2",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz",
|
||||||
"integrity": "sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==",
|
"integrity": "sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/plugin-syntax-jsx": "^7.2.0"
|
"@babel/plugin-syntax-jsx": "^7.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/babel-sugar-inject-h": {
|
"@vue/babel-sugar-inject-h": {
|
||||||
"version": "1.2.2",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz",
|
||||||
"integrity": "sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==",
|
"integrity": "sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/plugin-syntax-jsx": "^7.2.0"
|
"@babel/plugin-syntax-jsx": "^7.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/babel-sugar-v-model": {
|
"@vue/babel-sugar-v-model": {
|
||||||
"version": "1.3.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz",
|
||||||
"integrity": "sha512-zcsabmdX48JmxTObn3xmrvvdbEy8oo63DphVyA3WRYGp4SEvJRpu/IvZCVPl/dXLuob2xO/QRuncqPgHvZPzpA==",
|
"integrity": "sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/plugin-syntax-jsx": "^7.2.0",
|
"@babel/plugin-syntax-jsx": "^7.2.0",
|
||||||
"@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
|
"@vue/babel-helper-vue-jsx-merge-props": "^1.4.0",
|
||||||
"@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
|
"@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
|
||||||
"camelcase": "^5.0.0",
|
"camelcase": "^5.0.0",
|
||||||
"html-tags": "^2.0.0",
|
"html-tags": "^2.0.0",
|
||||||
"svg-tags": "^1.0.0"
|
"svg-tags": "^1.0.0"
|
||||||
@ -13316,13 +13325,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/babel-sugar-v-on": {
|
"@vue/babel-sugar-v-on": {
|
||||||
"version": "1.3.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz",
|
||||||
"integrity": "sha512-8VZgrS0G5bh7+Prj7oJkzg9GvhSPnuW5YT6MNaVAEy4uwxRLJ8GqHenaStfllChTao4XZ3EZkNtHB4Xbr/ePdA==",
|
"integrity": "sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/plugin-syntax-jsx": "^7.2.0",
|
"@babel/plugin-syntax-jsx": "^7.2.0",
|
||||||
"@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
|
"@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
|
||||||
"camelcase": "^5.0.0"
|
"camelcase": "^5.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -13365,86 +13374,6 @@
|
|||||||
"globby": "^11.0.2",
|
"globby": "^11.0.2",
|
||||||
"webpack": "^5.54.0",
|
"webpack": "^5.54.0",
|
||||||
"yorkie": "^2.0.0"
|
"yorkie": "^2.0.0"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"ajv": {
|
|
||||||
"version": "8.11.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
|
|
||||||
"integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"fast-deep-equal": "^3.1.1",
|
|
||||||
"json-schema-traverse": "^1.0.0",
|
|
||||||
"require-from-string": "^2.0.2",
|
|
||||||
"uri-js": "^4.2.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ajv-keywords": {
|
|
||||||
"version": "5.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
|
|
||||||
"integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"fast-deep-equal": "^3.1.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"eslint-webpack-plugin": {
|
|
||||||
"version": "3.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz",
|
|
||||||
"integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"@types/eslint": "^7.29.0 || ^8.4.1",
|
|
||||||
"jest-worker": "^28.0.2",
|
|
||||||
"micromatch": "^4.0.5",
|
|
||||||
"normalize-path": "^3.0.0",
|
|
||||||
"schema-utils": "^4.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has-flag": {
|
|
||||||
"version": "4.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
|
||||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"jest-worker": {
|
|
||||||
"version": "28.1.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz",
|
|
||||||
"integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"@types/node": "*",
|
|
||||||
"merge-stream": "^2.0.0",
|
|
||||||
"supports-color": "^8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"json-schema-traverse": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
|
||||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"schema-utils": {
|
|
||||||
"version": "4.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
|
|
||||||
"integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"@types/json-schema": "^7.0.9",
|
|
||||||
"ajv": "^8.8.0",
|
|
||||||
"ajv-formats": "^2.1.1",
|
|
||||||
"ajv-keywords": "^5.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"supports-color": {
|
|
||||||
"version": "8.1.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
|
||||||
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"has-flag": "^4.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/cli-plugin-router": {
|
"@vue/cli-plugin-router": {
|
||||||
@ -14734,9 +14663,9 @@
|
|||||||
"integrity": "sha512-0QTBSYSUZ6Gq21utGzkfITDylE8jWC9Ne1D2MrhvlsZBI1x39OdDIVbzSqtgMndIy6BlHxBXpMGqzZmnztg2rg=="
|
"integrity": "sha512-0QTBSYSUZ6Gq21utGzkfITDylE8jWC9Ne1D2MrhvlsZBI1x39OdDIVbzSqtgMndIy6BlHxBXpMGqzZmnztg2rg=="
|
||||||
},
|
},
|
||||||
"core-js-compat": {
|
"core-js-compat": {
|
||||||
"version": "3.24.1",
|
"version": "3.25.0",
|
||||||
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz",
|
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.0.tgz",
|
||||||
"integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==",
|
"integrity": "sha512-extKQM0g8/3GjFx9US12FAgx8KJawB7RCQ5y8ipYLbmfzEzmFRWdDjIlxDx82g7ygcNG85qMVUSRyABouELdow==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"browserslist": "^4.21.3",
|
"browserslist": "^4.21.3",
|
||||||
@ -15683,6 +15612,86 @@
|
|||||||
"integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
|
"integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"eslint-webpack-plugin": {
|
||||||
|
"version": "3.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz",
|
||||||
|
"integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@types/eslint": "^7.29.0 || ^8.4.1",
|
||||||
|
"jest-worker": "^28.0.2",
|
||||||
|
"micromatch": "^4.0.5",
|
||||||
|
"normalize-path": "^3.0.0",
|
||||||
|
"schema-utils": "^4.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"ajv": {
|
||||||
|
"version": "8.11.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
|
||||||
|
"integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"fast-deep-equal": "^3.1.1",
|
||||||
|
"json-schema-traverse": "^1.0.0",
|
||||||
|
"require-from-string": "^2.0.2",
|
||||||
|
"uri-js": "^4.2.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ajv-keywords": {
|
||||||
|
"version": "5.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
|
||||||
|
"integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"fast-deep-equal": "^3.1.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"has-flag": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"jest-worker": {
|
||||||
|
"version": "28.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz",
|
||||||
|
"integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@types/node": "*",
|
||||||
|
"merge-stream": "^2.0.0",
|
||||||
|
"supports-color": "^8.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"json-schema-traverse": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"schema-utils": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@types/json-schema": "^7.0.9",
|
||||||
|
"ajv": "^8.8.0",
|
||||||
|
"ajv-formats": "^2.1.1",
|
||||||
|
"ajv-keywords": "^5.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"supports-color": {
|
||||||
|
"version": "8.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
||||||
|
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"has-flag": "^4.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"espree": {
|
"espree": {
|
||||||
"version": "9.3.3",
|
"version": "9.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/espree/-/espree-9.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/espree/-/espree-9.3.3.tgz",
|
||||||
@ -19193,6 +19202,12 @@
|
|||||||
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
|
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"vee-validate": {
|
||||||
|
"version": "3.4.14",
|
||||||
|
"resolved": "https://registry.npmjs.org/vee-validate/-/vee-validate-3.4.14.tgz",
|
||||||
|
"integrity": "sha512-Hqqic8G9WcRSIzCxiCPqMZv4qB8JE1lIQqIOLDm2K5BXUiL8d4a2+kqkanv8gQSGDzYpnCQZ7BO/T99Aj05T1Q==",
|
||||||
|
"requires": {}
|
||||||
|
},
|
||||||
"vue": {
|
"vue": {
|
||||||
"version": "2.7.10",
|
"version": "2.7.10",
|
||||||
"resolved": "https://registry.npmjs.org/vue/-/vue-2.7.10.tgz",
|
"resolved": "https://registry.npmjs.org/vue/-/vue-2.7.10.tgz",
|
||||||
|
|||||||
@ -12,6 +12,7 @@
|
|||||||
"bootstrap": "^5.2.0",
|
"bootstrap": "^5.2.0",
|
||||||
"bootstrap-vue": "^2.22.0",
|
"bootstrap-vue": "^2.22.0",
|
||||||
"core-js": "^3.8.3",
|
"core-js": "^3.8.3",
|
||||||
|
"vee-validate": "^3.4.14",
|
||||||
"vue": "^2.6.14",
|
"vue": "^2.6.14",
|
||||||
"vue-router": "^3.5.1",
|
"vue-router": "^3.5.1",
|
||||||
"vuex": "^3.6.2"
|
"vuex": "^3.6.2"
|
||||||
|
|||||||
@ -1,3 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div>ListComponent</div>
|
|
||||||
</template>
|
|
||||||
@ -1,33 +1,52 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div style="width: 400px; height: 300px; text-align: center">
|
||||||
<b-form @submit="onSubmit" @reset="onReset" v-if="show">
|
<!-- 참조: https://bootstrap-vue.org/docs/reference/validation#form-validation , npm install vee-validate@3 필요 -->
|
||||||
<b-form-group
|
<validation-observer ref="observer" v-slot="{ handleSubmit }">
|
||||||
label="Email address:"
|
<b-form @submit.stop.prevent="handleSubmit(onSubmit)" class="sm">
|
||||||
description="We'll never share your email with anyone else."
|
<validation-provider
|
||||||
>
|
:name="field.email.label"
|
||||||
<b-form-input
|
:rules="field.email.rules"
|
||||||
v-model="form.email"
|
v-slot="validationContext"
|
||||||
type="email"
|
>
|
||||||
placeholder="Enter email"
|
<b-input-group>
|
||||||
required
|
<label class="input-group-text">{{ field.email.label }}</label>
|
||||||
></b-form-input>
|
<b-form-input
|
||||||
</b-form-group>
|
:name="field.email.label"
|
||||||
|
:type="field.email.type"
|
||||||
<b-form-group label="Your Pasword:" label-for="input-2">
|
v-model="form.email"
|
||||||
<b-form-input
|
:state="getValidationState(validationContext)"
|
||||||
type="password"
|
:placeholder="field.email.placeholder"
|
||||||
v-model="form.password"
|
></b-form-input>
|
||||||
placeholder="Enter Pasword"
|
<b-form-invalid-feedback>{{
|
||||||
required
|
validationContext.errors[0]
|
||||||
></b-form-input>
|
}}</b-form-invalid-feedback>
|
||||||
</b-form-group>
|
</b-input-group>
|
||||||
|
</validation-provider>
|
||||||
<b-button type="submit" variant="primary">Login</b-button>
|
<validation-provider
|
||||||
<b-button type="reset" variant="danger">Reset</b-button>
|
:name="field.password.label"
|
||||||
</b-form>
|
:rules="field.password.rules"
|
||||||
<b-card class="mt-3" header="Form Data Result">
|
v-slot="validationContext"
|
||||||
<pre class="m-0">{{ form }}</pre>
|
>
|
||||||
</b-card>
|
<b-input-group>
|
||||||
|
<label class="input-group-text">{{ field.password.label }}</label>
|
||||||
|
<b-form-input
|
||||||
|
:name="field.password.label"
|
||||||
|
:type="field.password.type"
|
||||||
|
v-model="form.password"
|
||||||
|
:state="getValidationState(validationContext)"
|
||||||
|
:placeholder="field.password.placeholder"
|
||||||
|
></b-form-input>
|
||||||
|
<b-form-invalid-feedback>{{
|
||||||
|
validationContext.errors[0]
|
||||||
|
}}</b-form-invalid-feedback>
|
||||||
|
</b-input-group>
|
||||||
|
</validation-provider>
|
||||||
|
<b-button type="submit" variant="primary">Login</b-button>
|
||||||
|
<b-button type="reset" variant="danger" @click="onReset()"
|
||||||
|
>Reset</b-button
|
||||||
|
>
|
||||||
|
</b-form>
|
||||||
|
</validation-observer>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -37,61 +56,76 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
form: {
|
form: {
|
||||||
email: '',
|
email: null,
|
||||||
password: ''
|
password: null
|
||||||
},
|
},
|
||||||
show: true
|
field: {
|
||||||
|
email: {
|
||||||
|
key: 'email',
|
||||||
|
type: 'email',
|
||||||
|
label: '로그인 메일',
|
||||||
|
placeholder: 'sample@test.com',
|
||||||
|
rules: { required: true, email: true }
|
||||||
|
},
|
||||||
|
password: {
|
||||||
|
key: 'password',
|
||||||
|
type: 'password',
|
||||||
|
label: '로그인 암호',
|
||||||
|
placeholder: 'password',
|
||||||
|
rules: { required: true, min: 4, max: 20 }
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async onSubmit(event) {
|
getValidationState({ dirty, validated, valid = null }) {
|
||||||
event.preventDefault()
|
return dirty || validated ? valid : null
|
||||||
|
},
|
||||||
|
async onSubmit() {
|
||||||
|
const result = await this.callAPI(
|
||||||
|
'/auth/login',
|
||||||
|
JSON.stringify({
|
||||||
|
email: this.form.email,
|
||||||
|
password: this.form.password
|
||||||
|
})
|
||||||
|
)
|
||||||
|
if (result) {
|
||||||
|
// localStorage를 사용하면, 브라우저에 key-value 값을 Storage에 저장할 수 있습니다
|
||||||
|
localStorage.setItem(process.env.VUE_APP_LOCALSTORAGE_NAME, result)
|
||||||
|
alert('로그인 성공...')
|
||||||
|
// this.$router.push('/')
|
||||||
|
} else {
|
||||||
|
console.log(result)
|
||||||
|
localStorage.removeItem(process.env.VUE_APP_LOCALSTORAGE_NAME)
|
||||||
|
alert('로그인 실패...')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onReset() {
|
||||||
|
// Reset our form values
|
||||||
|
this.form.email = ''
|
||||||
|
this.form.pasword = ''
|
||||||
|
// Trick to reset/clear native browser form validation state
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.observer.reset()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
async callAPI(url, params) {
|
||||||
|
console.log('CallAPI..', [url, params])
|
||||||
axios.defaults.baseURL = process.env.VUE_APP_BACKEND_HOST
|
axios.defaults.baseURL = process.env.VUE_APP_BACKEND_HOST
|
||||||
axios.defaults.headers.post['Content-Type'] =
|
axios.defaults.headers.post['Content-Type'] =
|
||||||
process.env.VUE_APP_BACKEND_HEADERS_Content_Type
|
process.env.VUE_APP_BACKEND_HEADERS_Content_Type
|
||||||
axios.defaults.headers.post['Access-Control-Allow-Origin'] =
|
axios.defaults.headers.post['Access-Control-Allow-Origin'] =
|
||||||
process.env.VUE_APP_BACKEND_HEADERS_Access_Control_Allow_Origin
|
process.env.VUE_APP_BACKEND_HEADERS_Access_Control_Allow_Origin
|
||||||
await axios
|
return await axios
|
||||||
.post(
|
.post(url, params)
|
||||||
'/auth/login',
|
|
||||||
JSON.stringify({
|
|
||||||
email: this.form.email,
|
|
||||||
password: this.form.password
|
|
||||||
})
|
|
||||||
)
|
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
// console.log(response)
|
// console.log(response)
|
||||||
if (response.status === 201) {
|
return response.status === 201 ? response.data.access_token : null
|
||||||
// 로그인 성공시 처리해줘야할 부분
|
|
||||||
console.log(response.data)
|
|
||||||
// this.$store.dispatch('authenticate', {
|
|
||||||
// token: response.data.access_token,
|
|
||||||
// expiration: response.data.expires_in + Date.now()
|
|
||||||
// })
|
|
||||||
localStorage.setItem(
|
|
||||||
process.env.VUE_APP_LOCALSTORAGE_NAME,
|
|
||||||
response.data.access_token
|
|
||||||
)
|
|
||||||
alert('로그인 성공...')
|
|
||||||
// this.$router.push('/')
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
localStorage.removeItem(process.env.VUE_APP_LOCALSTORAGE_NAME)
|
|
||||||
console.log(err)
|
console.log(err)
|
||||||
alert('로그인 실패...')
|
return null
|
||||||
})
|
})
|
||||||
},
|
|
||||||
onReset(event) {
|
|
||||||
event.preventDefault()
|
|
||||||
// Reset our form values
|
|
||||||
this.form.email = ''
|
|
||||||
this.form.pasword = ''
|
|
||||||
// Trick to reset/clear native browser form validation state
|
|
||||||
this.show = false
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.show = true
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<a class="nav-link" href="#">Link</a>
|
<a class="nav-link" href="#">Link</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="/api/todo">Todo</a>
|
<a class="nav-link" href="/todo">Todo</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<form class="d-flex" role="search">
|
<form class="d-flex" role="search">
|
||||||
|
|||||||
22
src/main.js
22
src/main.js
@ -2,15 +2,33 @@ import Vue from 'vue'
|
|||||||
import App from './App.vue'
|
import App from './App.vue'
|
||||||
import router from './router'
|
import router from './router'
|
||||||
import store from './store'
|
import store from './store'
|
||||||
import { BootstrapVue, BootstrapVueIcons } from 'bootstrap-vue'
|
import { BootstrapVue } from 'bootstrap-vue'
|
||||||
|
import {
|
||||||
|
ValidationObserver,
|
||||||
|
ValidationProvider,
|
||||||
|
extend,
|
||||||
|
localize
|
||||||
|
} from 'vee-validate'
|
||||||
|
import ko from 'vee-validate/dist/locale/ko.json'
|
||||||
|
import * as rules from 'vee-validate/dist/rules'
|
||||||
|
|
||||||
// Import Bootstrap and BootstrapVue CSS files (order is important)
|
// Import Bootstrap and BootstrapVue CSS files (order is important)
|
||||||
import 'bootstrap/dist/css/bootstrap.css'
|
import 'bootstrap/dist/css/bootstrap.css'
|
||||||
import 'bootstrap-vue/dist/bootstrap-vue.css'
|
import 'bootstrap-vue/dist/bootstrap-vue.css'
|
||||||
|
|
||||||
|
// Install VeeValidate rules and localization
|
||||||
|
Object.keys(rules).forEach((rule) => {
|
||||||
|
extend(rule, rules[rule])
|
||||||
|
})
|
||||||
|
|
||||||
|
localize('ko', ko)
|
||||||
|
|
||||||
|
// Install VeeValidate components globally
|
||||||
|
Vue.component('ValidationObserver', ValidationObserver)
|
||||||
|
Vue.component('ValidationProvider', ValidationProvider)
|
||||||
|
|
||||||
Vue.config.productionTip = false
|
Vue.config.productionTip = false
|
||||||
Vue.use(BootstrapVue)
|
Vue.use(BootstrapVue)
|
||||||
Vue.use(BootstrapVueIcons)
|
|
||||||
new Vue({
|
new Vue({
|
||||||
router,
|
router,
|
||||||
store,
|
store,
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<!-- 참조: https://codesandbox.io/s/3v0m1?file=/src/components/board/BoardList.vue -->
|
<!-- 참조: https://codesandbox.io/s/3v0m1?file=/src/components/board/BoardList.vue -->
|
||||||
<div>
|
<div>
|
||||||
<LoginComponent />
|
<b-modal id="LoginComponent" title="로그인">
|
||||||
|
<LoginComponent />
|
||||||
|
</b-modal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@ -9,6 +11,16 @@ import LoginComponent from '@/components/common/LoginComponent.vue'
|
|||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
LoginComponent
|
LoginComponent
|
||||||
|
},
|
||||||
|
data: function () {
|
||||||
|
return {
|
||||||
|
showModal: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted: function () {
|
||||||
|
if (this.showModal) {
|
||||||
|
this.$bvModal.show('LoginComponent')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<!-- 참조: https://codesandbox.io/s/3v0m1?file=/src/components/board/BoardList.vue -->
|
|
||||||
<div>
|
<div>
|
||||||
<ListComponent />
|
<!-- 참조: https://codesandbox.io/s/3v0m1?file=/src/components/board/BoardList.vue -->
|
||||||
<b-container fluid>
|
<b-container fluid>
|
||||||
<b-row>
|
<b-row>
|
||||||
<b-col class="border">
|
<b-col class="border">
|
||||||
@ -73,11 +72,11 @@
|
|||||||
:head-variant="commonTableAttributes.headVariant"
|
:head-variant="commonTableAttributes.headVariant"
|
||||||
>
|
>
|
||||||
<!-- 각 Cell/Field별 속성 추가용 -->
|
<!-- 각 Cell/Field별 속성 추가용 -->
|
||||||
<template #table-colgroup="scope">
|
<template>
|
||||||
<col
|
<col
|
||||||
v-for="field in scope.fields"
|
v-for="field in fields"
|
||||||
:key="field.key"
|
:key="field.key"
|
||||||
:style="{ width: field.width }"
|
:style="field.style"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<!-- 비/선택 Row를 토글용 -->
|
<!-- 비/선택 Row를 토글용 -->
|
||||||
@ -150,12 +149,9 @@
|
|||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
// 참조 : https://vuejsexamples.com/vuejs-tables-and-select-all-checkbox/
|
// 참조 : https://vuejsexamples.com/vuejs-tables-and-select-all-checkbox/
|
||||||
import ListComponent from '@/components/common/ListComponent.vue'
|
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {},
|
||||||
ListComponent
|
|
||||||
},
|
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {
|
||||||
items: [],
|
items: [],
|
||||||
@ -164,7 +160,7 @@ export default {
|
|||||||
{
|
{
|
||||||
key: 'index',
|
key: 'index',
|
||||||
label: '번호',
|
label: '번호',
|
||||||
width: '55px',
|
style: { width: '55px' },
|
||||||
variant: 'primary'
|
variant: 'primary'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -184,7 +180,7 @@ export default {
|
|||||||
{
|
{
|
||||||
key: 'is_done',
|
key: 'is_done',
|
||||||
label: '사용여부',
|
label: '사용여부',
|
||||||
width: '105px',
|
style: { width: '105px' },
|
||||||
// formatter: (value, key, item) => {
|
// formatter: (value, key, item) => {
|
||||||
formatter: (value) => {
|
formatter: (value) => {
|
||||||
return value ? 'Yes' : 'No'
|
return value ? 'Yes' : 'No'
|
||||||
@ -196,7 +192,7 @@ export default {
|
|||||||
{
|
{
|
||||||
key: 'createdAt',
|
key: 'createdAt',
|
||||||
label: '등록일',
|
label: '등록일',
|
||||||
width: '105px',
|
style: { width: '105px' },
|
||||||
formatter: (value) => {
|
formatter: (value) => {
|
||||||
return value.replace(
|
return value.replace(
|
||||||
/([0-9]{4})-([0-9]{2})-([0-9]{2}).*/gi,
|
/([0-9]{4})-([0-9]{2})-([0-9]{2}).*/gi,
|
||||||
@ -250,38 +246,17 @@ export default {
|
|||||||
setup: function () {},
|
setup: function () {},
|
||||||
created: function () {},
|
created: function () {},
|
||||||
mounted: function () {
|
mounted: function () {
|
||||||
// var vm = this
|
|
||||||
// setTimeout(function () {
|
|
||||||
// vm.records = vm.getDatas()
|
|
||||||
// }, 1000)
|
|
||||||
this.getDatas()
|
this.getDatas()
|
||||||
this.total = this.items.length
|
|
||||||
},
|
},
|
||||||
unmounted() {},
|
unmounted() {},
|
||||||
methods: {
|
methods: {
|
||||||
async getDatas() {
|
async getDatas() {
|
||||||
this.isBusy = true
|
this.isBusy = true
|
||||||
axios.defaults.baseURL = process.env.VUE_APP_BACKEND_HOST
|
this.items = await this.callAPI('/todo', {
|
||||||
axios.defaults.headers.post['Content-Type'] =
|
search: this.search
|
||||||
process.env.VUE_APP_BACKEND_HEADERS_Content_Type
|
})
|
||||||
axios.defaults.headers.post['Access-Control-Allow-Origin'] =
|
//console.log(JSON.stringify(this.items))
|
||||||
process.env.VUE_APP_BACKEND_HEADERS_Access_Control_Allow_Origin
|
this.total = this.items.length
|
||||||
const items = await axios
|
|
||||||
.get('/todo/vue2', {
|
|
||||||
params: {
|
|
||||||
search: this.search
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.then((response) => {
|
|
||||||
return response.status === 200 ? response.data : []
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
console.log(err)
|
|
||||||
return []
|
|
||||||
})
|
|
||||||
//console.log(JSON.stringify(items.rows))
|
|
||||||
this.total = items.total
|
|
||||||
this.items = items.rows
|
|
||||||
this.isBusy = false
|
this.isBusy = false
|
||||||
},
|
},
|
||||||
searchForDB() {
|
searchForDB() {
|
||||||
@ -292,7 +267,6 @@ export default {
|
|||||||
this.isBusy = !this.isBusy
|
this.isBusy = !this.isBusy
|
||||||
},
|
},
|
||||||
onFiltered(filteredItems) {
|
onFiltered(filteredItems) {
|
||||||
// Trigger pagination to update the number of buttons/pages due to filtering
|
|
||||||
this.total = filteredItems.length
|
this.total = filteredItems.length
|
||||||
this.currentPage = 1
|
this.currentPage = 1
|
||||||
},
|
},
|
||||||
@ -307,7 +281,7 @@ export default {
|
|||||||
this.$refs.selectableTable.selectAllRows()
|
this.$refs.selectableTable.selectAllRows()
|
||||||
this.selectedAllToggle = true
|
this.selectedAllToggle = true
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
// rowSelectSet(id) {
|
// rowSelectSet(id) {
|
||||||
// // Rows are indexed from 0, so the third row is index 2
|
// // Rows are indexed from 0, so the third row is index 2
|
||||||
// this.$refs.selectableTable.selectRow(id)
|
// this.$refs.selectableTable.selectRow(id)
|
||||||
@ -316,6 +290,23 @@ export default {
|
|||||||
// // Rows are indexed from 0, so the third row is index 2
|
// // Rows are indexed from 0, so the third row is index 2
|
||||||
// this.$refs.selectableTable.unselectRow(id)
|
// this.$refs.selectableTable.unselectRow(id)
|
||||||
// }
|
// }
|
||||||
|
async callAPI(url, params) {
|
||||||
|
console.log('CallAPI..', [url, params])
|
||||||
|
axios.defaults.baseURL = process.env.VUE_APP_BACKEND_HOST
|
||||||
|
axios.defaults.headers.post['Content-Type'] =
|
||||||
|
process.env.VUE_APP_BACKEND_HEADERS_Content_Type
|
||||||
|
axios.defaults.headers.post['Access-Control-Allow-Origin'] =
|
||||||
|
process.env.VUE_APP_BACKEND_HEADERS_Access_Control_Allow_Origin
|
||||||
|
return await axios
|
||||||
|
.get(url, params)
|
||||||
|
.then((response) => {
|
||||||
|
return response.status === 200 ? response.data : []
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err)
|
||||||
|
return []
|
||||||
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
sortOptions() {
|
sortOptions() {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user