Jonathan Druart
765fd1ced3
The way we deal with DataTables in Vue component is not nice, especially when we need to add buttons/link in the cell and interact with the rest of the Vue app from there. When I started to work on Vue last year there was no good solution from DataTables, now there is a Vue component. It is not perfect, you still cannot add Vue component in the DT component, but it brings something to follow. Agustin implemented something on theke/import_source_vue, but he went too far, and it will need to rewrite the whole ERM module. Additionally he didn't provide a solution that has the same features as what we have now. The goal of this patch is to not duplicate the code in datatables.js, we don't want to maintain two version of this code (one is enough already!) We split the huge function in datatables.js in small ones to make them reusable from the Vue component. This is quite ugly, and it needs to lot more addition, but it's a first start! Help, ideas, and feedback welcome (and needed!) Bug 33066: Fix agreement name in delete confirmation dialog Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Agustín Moyano <agustinmoyano@theke.io> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
91 lines
2.6 KiB
JSON
91 lines
2.6 KiB
JSON
{
|
|
"name": "koha",
|
|
"description": "Koha is distributed under the GNU GPL version 3 or later.",
|
|
"main": "gulpfile.js",
|
|
"directories": {
|
|
"doc": "docs",
|
|
"test": "test"
|
|
},
|
|
"dependencies": {
|
|
"@cypress/vue": "^3.1.1",
|
|
"@cypress/webpack-dev-server": "^1.8.3",
|
|
"@fortawesome/fontawesome-svg-core": "^6.1.0",
|
|
"@fortawesome/free-solid-svg-icons": "^6.0.0",
|
|
"@fortawesome/vue-fontawesome": "^3.0.0-5",
|
|
"@popperjs/core": "^2.11.2",
|
|
"@vue/cli-service": "^5.0.1",
|
|
"babel-core": "^7.0.0-beta.3",
|
|
"bootstrap": "^4.5.2",
|
|
"css-loader": "^6.6.0",
|
|
"cypress": "^9.5.2",
|
|
"datatables.net-buttons": "^2.3.4",
|
|
"datatables.net-vue3": "^2.0.0",
|
|
"gulp": "^4.0.2",
|
|
"gulp-autoprefixer": "^4.0.0",
|
|
"gulp-concat-po": "^1.0.0",
|
|
"gulp-exec": "^4.0.0",
|
|
"gulp-rename": "^2.0.0",
|
|
"gulp-rtlcss": "^1.4.1",
|
|
"gulp-sass": "^5.1.0",
|
|
"gulp-sourcemaps": "^2.6.1",
|
|
"js-yaml": "^3.13.1",
|
|
"lodash": "^4.17.12",
|
|
"merge-stream": "^2.0.0",
|
|
"minimist": "^1.2.5",
|
|
"mysql": "^2.18.1",
|
|
"pinia": "^2.0.13",
|
|
"sass": "^1.58.1",
|
|
"style-loader": "^3.3.1",
|
|
"vue": "^3.2.31",
|
|
"vue-flatpickr-component": "^9",
|
|
"vue-router": "^4.0.14",
|
|
"vue-select": "4.0.0-beta.3"
|
|
},
|
|
"scripts": {
|
|
"css:build": "gulp css && gulp css --view opac",
|
|
"css:build:prod": "gulp build && gulp build --view opac",
|
|
"css:watch": "gulp watch",
|
|
"js:build": "webpack --mode development",
|
|
"js:watch": "webpack --mode development --watch",
|
|
"js:build:prod": "webpack --mode production",
|
|
"build": "yarn css:build && yarn js:build",
|
|
"build:prod": "yarn css:build:prod && yarn js:build:prod",
|
|
"cypress": "cypress",
|
|
"prettier": "prettier"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git://git.koha-community.org/koha.git"
|
|
},
|
|
"resolutions": {
|
|
"minimatch": "^3.0.2",
|
|
"lodash": "^4.17.12",
|
|
"js-yaml": "^3.13.1"
|
|
},
|
|
"author": "",
|
|
"license": "GPL-3.0",
|
|
"devDependencies": {
|
|
"@babel/core": "^7.17.5",
|
|
"@babel/preset-env": "^7.16.11",
|
|
"@vue/compiler-sfc": "^3.2.31",
|
|
"babel-loader": "^8.2.3",
|
|
"babelify": "^10.0.0",
|
|
"browserify": "^17.0.0",
|
|
"clean-webpack-plugin": "^4.0.0",
|
|
"gulp-tap": "^1.0.1",
|
|
"html-webpack-plugin": "^5.5.0",
|
|
"postcss": "^8.4.14",
|
|
"postcss-selector-parser": "^6.0.10",
|
|
"stylelint": "^14.9.1",
|
|
"stylelint-config-standard-scss": "^5.0.0",
|
|
"stylelint-order": "^5.0.0",
|
|
"ts-loader": "^9.2.7",
|
|
"typescript": "^4.6.2",
|
|
"vinyl-source-stream": "^2.0.0",
|
|
"vue-loader": "^17.0.0",
|
|
"watchify": "^4.0.0",
|
|
"webpack": "^5.69.1",
|
|
"webpack-cli": "^4.9.2",
|
|
"webpack-dev-server": "^4.7.4"
|
|
}
|
|
}
|