{"_id":"@conjointly-org/vue-editable-table","_rev":"2-ae7dee11f2be25011d77f1ef1b2e4229","name":"@conjointly-org/vue-editable-table","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@conjointly-org/vue-editable-table","version":"1.0.0","description":"Vue editable table for bootstrap layout","author":{"name":"Conjoint.ly","email":"support@conjoint.ly"},"homepage":"https://github.com/Conjoint-ly/vue-bootstrap-editable-table","repository":{"type":"git","url":"git+https://github.com/Conjoint-ly/vue-bootstrap-editable-table.git"},"main":"dist/vue-editable-table.cjs.js","unpkg":"dist/vue-editable-table.umd.min.js","scripts":{"dev":"node build/dev-server.js","build":"node build/build-library.js","lint":"eslint --ext .js,.vue --ignore-path .gitignore .","precommit":"npm run lint"},"publishConfig":{"access":"public"},"dependencies":{"@fortawesome/fontawesome-svg-core":"^1.2.34","@fortawesome/free-solid-svg-icons":"^5.15.2","@fortawesome/vue-fontawesome":"^2.0.2","bootstrap-vue":"^2.15.0","lodash":"^4.17.21","moment":"^2.29.1"},"devDependencies":{"@babel/core":"^7.0.0","@babel/plugin-proposal-export-default-from":"^7.12.13","@babel/plugin-syntax-class-properties":"^7.12.13","@babel/plugin-syntax-jsx":"^7.0.0","@babel/plugin-transform-runtime":"^7.0.0","@babel/preset-env":"^7.3.1","@vue/test-utils":"1.0.0-beta.16","autoprefixer":"^9.4.6","babel-eslint":"^10.0.1","babel-loader":"^8.0.0","babel-plugin-istanbul":"^5.0.1","babel-plugin-transform-vue-jsx":"^4.0.1","babel-polyfill":"^6.26.0","bootstrap":"^4.6.0","cache-loader":"^4.0.1","chalk":"^2.3.2","codecov":"^3.0.0","codemirror":"^5.59.4","connect-history-api-fallback":"^1.5.0","copy-webpack-plugin":"^5.0.3","css-loader":"^3.0.0","entities":"^2.0.0","eslint":"^6.8.0","eslint-friendly-formatter":"^4.0.0","eslint-import-resolver-webpack":"^0.11.0","eslint-loader":"^3.0.0","eslint-plugin-import":"^2.15.0","eslint-plugin-react":"^7.10.0","eslint-plugin-unicorn":"^12.1.0","eslint-plugin-vue":"^6.2.2","eventsource-polyfill":"^0.9.6","express":"^4.16.3","friendly-errors-webpack-plugin":"^1.7.0","gh-pages":"^2.0.0","handlebars-loader":"^1.7.1","html-webpack-plugin":"^4.5.2","http-server":"^0.11.1","jasmine-core":"^3.1.0","jstransformer-markdown-it":"^2.0.0","karma":"^4.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.1","karma-jasmine":"^2.0.0","karma-jasmine-matchers":"^4.0.1","karma-sourcemap-loader":"^0.3.7","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","mini-css-extract-plugin":"^0.8.0","node-html-parser":"^3.0.4","open":"^7.0.0","optimize-css-assets-webpack-plugin":"^5.0.0","ora":"^4.0.1","postcss-loader":"^3.0.0","pre-commit":"^1.2.2","puppeteer":"^2.0.0","raw-loader":"^3.0.0","regenerator-runtime":"^0.13.1","rimraf":"^3.0.0","run-series":"^1.1.8","sass":"^1.29.0","sass-loader":"^7.0","script-loader":"^0.7.2","shallow-equal":"^1.0.0","shelljs":"^0.8.1","string.prototype.repeat":"^0.2.0","strip-indent":"^3.0.0","stylelint":"^11.0.0","stylelint-config-xo-space":"^0.13.0","terser-webpack-plugin":"^2.1.0","url-loader":"^2.0.1","vue":"^2.6.0","vue-json-editor":"^1.4.2","vue-loader":"^15.6.0","vue-style-loader":"^4.0.2","vue-template-compiler":"^2.4.4","vuex":"^3.6.2","webpack":"^4.6.0","webpack-bundle-analyzer":"^3.0.2","webpack-cdn-plugin":"^3.1.4","webpack-dev-middleware":"^3.1.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0","webpack-node-externals":"^2.5","yaku":"^0.19.3"},"gitHead":"43b042ec4791f7262a19db8861d4a9ed1e089edc","bugs":{"url":"https://github.com/Conjoint-ly/vue-bootstrap-editable-table/issues"},"_id":"@conjointly-org/vue-editable-table@1.0.0","_nodeVersion":"11.15.0","_npmVersion":"7.5.6","dist":{"integrity":"sha512-JQ+qOXmhPcHn7hSzoxhGbvnEvtlXpOdGyiPSGmcBuvAMslI1TcW0/XZbzP0YevIsk1rbASNJ2BY46V52YahYQA==","shasum":"9d456ed95dac1fbfaf5278bc0d1087b9ba644dbb","tarball":"https://registry.npmjs.org/@conjointly-org/vue-editable-table/-/vue-editable-table-1.0.0.tgz","fileCount":52,"unpackedSize":6997290,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgi4SWCRA9TVsSAnZWagAALrkP/RatSmIxnW/uZ04I8+aN\nc2w33c81s3TiO5MXnzqPKo+vJlgZ4gLStvke3zr0rc22/dwP87GM2YSyzo/7\nECEZdhlcw0M4kahKL+S8Y1B1hxNVDFpVN/3CKdLck313R8yz0w8Bjk1Gq1c8\nzcfeTXNkHyrbbQJnhh6MYc8Ri0rTfjH8hvb0IFacOd4BuFFoNa5fJW8hknSh\n2Va9MSuZ7sg3CO2AAgcmJvVif4qc5a8FIhEWFY5ABRdJ5U9yueOKC1Sd7z/x\niv+w0u5zJBoeeIT3aeBDSVhSSJ3H4gBzbnHnfubOw7g4CClog03iwvaFjh/C\n5tXJVoSbSuFs7OgowAewCgXnKzQsKtPdVCHrwr+vutS0yctLkuUWC9aVcaKT\nOOS2aIoSHTvLE8RlEmj+tXubOkvw7oLTu0RNRfRg0TdZBwyX6VRmLzKFFMeW\nszmr1UJT5kz1U0yK13GAusgmQjLyNq86knHQID9OIvTG7BN8ffjFHr7iutiE\nEL4oRx7TS/vyEVvwaJ/Bt2D+qAD2PBM60eUosnULNUxKlRJHYPJGgDQGqWbV\n+d9EDPQC9gWCrA/6EE8AgzLbMIwNuseR0qTXRv7TGJv9TRBRdguAGDCLx6ad\nx0qO3athIc9OHu04WnU29v3Y0k5Wa8hC3GQkHODDZevF3Qo9ECfeQtS5UYJf\nTD6y\r\n=JCZt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAXl+2HdcNsTBeJ2prfQ0fojQBZxqRzaGLYt0bMQbAYQIgVRePsAZOBiTiDSH/aw/lYG+hw+EFoewjHUb4Sj80gvs="}]},"_npmUser":{"name":"maksim.kutishchev","email":"maksim.kutishchev@conjoint.ly"},"directories":{},"maintainers":[{"name":"maksim.kutishchev","email":"maksim.kutishchev@conjoint.ly"},{"name":"conjoint-ly","email":"nik@conjoint.ly"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-editable-table_1.0.0_1619756182062_0.3710471203232908"},"_hasShrinkwrap":false},"1.0.1":{"name":"@conjointly-org/vue-editable-table","version":"1.0.1","description":"Vue editable table for bootstrap layout","author":{"name":"Conjoint.ly","email":"support@conjoint.ly"},"homepage":"https://github.com/Conjoint-ly/vue-bootstrap-editable-table","repository":{"type":"git","url":"git+https://github.com/Conjoint-ly/vue-bootstrap-editable-table.git"},"main":"dist/vue-editable-table.cjs.js","unpkg":"dist/vue-editable-table.umd.min.js","scripts":{"dev":"node build/dev-server.js","build":"node build/build-library.js","lint":"eslint --ext .js,.vue --ignore-path .gitignore .","precommit":"npm run lint"},"publishConfig":{"access":"public"},"dependencies":{"@fortawesome/fontawesome-svg-core":"^1.2.34","@fortawesome/free-solid-svg-icons":"^5.15.2","@fortawesome/vue-fontawesome":"^2.0.2","bootstrap-vue":"^2.15.0","lodash":"^4.17.21","moment":"^2.29.1"},"devDependencies":{"@babel/core":"^7.0.0","@babel/plugin-proposal-export-default-from":"^7.12.13","@babel/plugin-syntax-class-properties":"^7.12.13","@babel/plugin-syntax-jsx":"^7.0.0","@babel/plugin-transform-runtime":"^7.0.0","@babel/preset-env":"^7.3.1","@vue/test-utils":"1.0.0-beta.16","autoprefixer":"^9.4.6","babel-eslint":"^10.0.1","babel-loader":"^8.0.0","babel-plugin-istanbul":"^5.0.1","babel-plugin-transform-vue-jsx":"^4.0.1","babel-polyfill":"^6.26.0","bootstrap":"^4.6.0","cache-loader":"^4.0.1","chalk":"^2.3.2","codecov":"^3.0.0","codemirror":"^5.59.4","connect-history-api-fallback":"^1.5.0","copy-webpack-plugin":"^5.0.3","css-loader":"^3.0.0","entities":"^2.0.0","eslint":"^6.8.0","eslint-friendly-formatter":"^4.0.0","eslint-import-resolver-webpack":"^0.11.0","eslint-loader":"^3.0.0","eslint-plugin-import":"^2.15.0","eslint-plugin-react":"^7.10.0","eslint-plugin-unicorn":"^12.1.0","eslint-plugin-vue":"^6.2.2","eventsource-polyfill":"^0.9.6","express":"^4.16.3","friendly-errors-webpack-plugin":"^1.7.0","gh-pages":"^2.0.0","handlebars-loader":"^1.7.1","html-webpack-plugin":"^4.5.2","http-server":"^0.11.1","jasmine-core":"^3.1.0","jstransformer-markdown-it":"^2.0.0","karma":"^4.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.1","karma-jasmine":"^2.0.0","karma-jasmine-matchers":"^4.0.1","karma-sourcemap-loader":"^0.3.7","karma-spec-reporter":"0.0.32","karma-webpack":"^4.0.2","mini-css-extract-plugin":"^0.8.0","node-html-parser":"^3.0.4","open":"^7.0.0","optimize-css-assets-webpack-plugin":"^5.0.0","ora":"^4.0.1","postcss-loader":"^3.0.0","pre-commit":"^1.2.2","puppeteer":"^2.0.0","raw-loader":"^3.0.0","regenerator-runtime":"^0.13.1","rimraf":"^3.0.0","run-series":"^1.1.8","sass":"^1.29.0","sass-loader":"^7.0","script-loader":"^0.7.2","shallow-equal":"^1.0.0","shelljs":"^0.8.1","string.prototype.repeat":"^0.2.0","strip-indent":"^3.0.0","stylelint":"^11.0.0","stylelint-config-xo-space":"^0.13.0","terser-webpack-plugin":"^2.1.0","url-loader":"^2.0.1","vue":"^2.6.0","vue-json-editor":"^1.4.2","vue-loader":"^15.6.0","vue-style-loader":"^4.0.2","vue-template-compiler":"^2.4.4","vuex":"^3.6.2","webpack":"^4.6.0","webpack-bundle-analyzer":"^3.0.2","webpack-cdn-plugin":"^3.1.4","webpack-dev-middleware":"^3.1.0","webpack-hot-middleware":"^2.18.0","webpack-merge":"^4.1.0","webpack-node-externals":"^2.5","yaku":"^0.19.3"},"gitHead":"52eec298be612a44da2083a3bf25ad80570ad0ac","bugs":{"url":"https://github.com/Conjoint-ly/vue-bootstrap-editable-table/issues"},"_id":"@conjointly-org/vue-editable-table@1.0.1","_nodeVersion":"11.15.0","_npmVersion":"7.5.6","dist":{"integrity":"sha512-WxIjXs3sBYLUImZJVwfiMKpwgm6pvjG2g5KTRxzMJ1NsSHVD98igHDzbImmWv2EBOigghsXgF7LjwmU9XxCgTg==","shasum":"387588735681728c61e6aa3c1a326df965041560","tarball":"https://registry.npmjs.org/@conjointly-org/vue-editable-table/-/vue-editable-table-1.0.1.tgz","fileCount":52,"unpackedSize":6997162,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgi/sMCRA9TVsSAnZWagAAQHMP/juWI7UPgVMlLJyHDLam\n6WV7eQmfv08lvForAP3zqCWigvTuFwdVtHeijpI+HrlgAMVIVBRwHTUw+zBV\nNqNFW1ry1Dt6fDPLY/FhQ+m2O9tUlJ4R2fAIQQGuW5/t6972oj+3CiYPkPcF\niaGjq5z9VPR5qgj6Snv/U5q3u/RSnY7WXdr7i02eBeTWui5RQhdfaEQSLnQV\nbn1yoSPHifcflgCwLrSP4aUEgckZRajfzeMCWEZM1ZAbbDR8Mop1C43oY3gr\nZKMl6JfyxO02aMwHmdVHW8kUGysB2SVFcjOK+ieTTmybEo1EMKd4gdkbZ/Qt\n5m7gVbhNleItvIX+VFEBDg+JzwqSVfYd4V5RnmC0c4e3JqtfU9tgVMk21NkB\n9X06xy39ge0CPdL8gwgwx76PWUT/ezkqokur0+9x3FnGIsG5cpvPBYu0Ys2L\nv8zmFNKgvxc7bNb5yB7j+ZdHCK2JTuL1VAyZGwb1ZCApUijlz3NcON4ouPNT\n1nr40RaUI0LaPceL+oLFGspOcvMbYopyHXr8jATPD7D1hJkQNhfFab8X1MlX\nM6guvZweyKvmr4VYZVbPrp0bTpphSyDkFvasrPpsMfP5LQK+xx9RM3IvQSwZ\nnuimUcZhX3Ot7YFmI1h3dpYaDkE6Y57vuhSjpkSql8mQJ7EWy63b/ZKOp0n3\npxsy\r\n=qEOF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDvL3Ttp0E0RtJiOtGpHR0EUbe6Obh62vYHdeX/r5zf+AiAhYr5ueFZ60fdbq4xNOV/Ccz4QvDdU5jBYdAcfn6AIeA=="}]},"_npmUser":{"name":"maksim.kutishchev","email":"maksim.kutishchev@conjoint.ly"},"directories":{},"maintainers":[{"name":"maksim.kutishchev","email":"maksim.kutishchev@conjoint.ly"},{"name":"conjoint-ly","email":"nik@conjoint.ly"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-editable-table_1.0.1_1619786507789_0.5676070848799701"},"_hasShrinkwrap":false}},"time":{"created":"2021-04-30T04:16:21.724Z","1.0.0":"2021-04-30T04:16:22.307Z","modified":"2022-04-05T00:54:45.720Z","1.0.1":"2021-04-30T12:41:48.070Z"},"maintainers":[{"name":"maksim.kutishchev","email":"maksim.kutishchev@conjoint.ly"},{"name":"conjoint-ly","email":"nik@conjoint.ly"}],"description":"Vue editable table for bootstrap layout","homepage":"https://github.com/Conjoint-ly/vue-bootstrap-editable-table","repository":{"type":"git","url":"git+https://github.com/Conjoint-ly/vue-bootstrap-editable-table.git"},"author":{"name":"Conjoint.ly","email":"support@conjoint.ly"},"bugs":{"url":"https://github.com/Conjoint-ly/vue-bootstrap-editable-table/issues"},"readme":"# Разработка расширенного конструктора таблицы\n_Задание для фронт-енд разработчика в Conjoint.ly_\n\nSee [list of components](./src/components/README.md)\n\nРезультатом данного задания должен быть vue-компонент (с сетью вложенных компонентов) в виде конструктора таблицы, который принимает на вход данные и отрисовывает конструктор-таблицу. Часть задания уже выполнена.\n\n<table>\n  <thead>\n    <tr>\n      <th>Name</th>\n      <th>Text</th>\n      <th>Image</th>\n      <th>Number</th>\n      <th><i>[Add column]</i></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>Name 1</td>\n      <td>Raw description text</td>\n      <td><img height=\"15\" src=\"https://cdn4.iconfinder.com/data/icons/ionicons/512/icon-image-512.png\" alt=\"Image 1\"></td>\n      <td>42</td>\n    </tr>\n    <tr>\n      <td>Name 2</td>\n      <td>Raw description text 2</td>\n      <td><img height=\"15\" src=\"https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRIbx6cBvdznxOwpCO0RK5zhHhWh0x08azCGzCtjpNUNkJZtq46&usqp=CAU\" alt=\"Image 2\"></td>\n      <td>21</td>\n    </tr>\n  </tbody>\n  <tfoot>\n    <tr>\n      <th>Total</th>\n      <th></th>\n      <th></th>\n      <th>63 <i>[Sum]</i></th>\n    </tr>\n    <tr>\n      <th><i>[Add row]</i></th>\n    </tr>\n  </tfoot>\n</table>\n\n## Примечания к компоненту\n\n* Адаптивная вёрстка не нужна. Должно работать в Chrome, Edge, Firefox, Safari на десктопе (но не обязательно на таблетках; не надо проверять на мобильниках)\n* При клике на ячейку в колонке, ячейка переходит в режим редактирования и пользователь может поменять ее значение. При потере фокуса происходит валидация значения по типу данных, если все ок, то режим редактирования отключается, иначе показывает ошибка\n* Каждая колонка имеет один из типов данных:\n   - **текст**\n   - **ссылка на картинку** (url)\n   - **число** (double). Формат отображения числа: `1,234,567.89`\n   - **дата**. Формат даты: `3 July 2020`\n   - **процент**\n   - **JSON**. Формат отображения JSON в самой таблице - просто кусочек красивого кода. Но при нажатии показывается модалка, где есть красиво раскрываемый объект с возможностью редактироования\n* Структура таблицы:\n   * В заголовке таблицы справа есть кнопка **_[Add column]_** - это кнопка-дропдаун с выбором типа значений колонки для добавления, выбрав тип, в конец таблицы добавляется новая колонка с пустыми ячейками.\n   * В первой колонке, в последней строчке, находится кнопка **_[Add row]_**, которая добавляет новую строчку\n   * Предпоследняя строка таблицы идет Total, которая пока будет использоваться для колонки с числовым типом.\n    **_[Sum]_** - это кнопка-дропдаун (sum по-умолчанию), который производит подсчеты значений в колонке с типом Число. Пока нужно реализовать следующие алгоритмы:\n        - `sum` (нужна мягкая валидация: сумма процентов не должна быть больше 100)\n        - `mean`\n        - `median`\n        - `min`\n        - `max`\n        - `count`\n * Поведение \n    -  Перетаскивание строк и столбцов\n    -   Изменение ширины столбцов путём перетаскивания\n * Требования к технологиям\n    * Фреймворк Vue.js (https://vuejs.org/)\n    * CSS-фреймворк Bootstrap4 (https://bootstrap-vue.org/)\n\n## Build Setup (уже готовой части проекта)\n\n``` bash\n# install dependencies\n$ npm install # Or yarn install\n\n# serve with hot reload at localhost:10388\n$ npm run dev\n\n# build for production and launch server\n$ npm run build\n\n```\n","readmeFilename":"README.md"}