Switch to Rollup (#16)
* Added Rollup config * Add cjs build * Remove webpack configs
This commit is contained in:
parent
664865d024
commit
67ea7746a2
9
.babelrc
9
.babelrc
@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"presets": ["env"],
|
|
||||||
"plugins": [
|
|
||||||
"babel-plugin-add-module-exports",
|
|
||||||
["babel-plugin-transform-builtin-extend", {
|
|
||||||
"globals": ["TypeError", "RangeError", "Error"]
|
|
||||||
}]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
root = true
|
|
||||||
|
|
||||||
[*]
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
||||||
end_of_line = LF
|
|
||||||
charset = utf-8
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
insert_final_newline = true
|
|
||||||
|
|
||||||
[*.md]
|
|
||||||
trim_trailing_whitespace = false
|
|
||||||
1
.eslintignore
Normal file
1
.eslintignore
Normal file
@ -0,0 +1 @@
|
|||||||
|
dist
|
||||||
@ -5,6 +5,11 @@
|
|||||||
"modules": true
|
"modules": true
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"parserOptions": {
|
||||||
|
"ecmaVersion": 6,
|
||||||
|
"sourceType": "module"
|
||||||
|
},
|
||||||
|
|
||||||
"env": {
|
"env": {
|
||||||
"browser": true,
|
"browser": true,
|
||||||
"es6": true,
|
"es6": true,
|
||||||
@ -25,8 +30,6 @@
|
|||||||
"Clusterize": true
|
"Clusterize": true
|
||||||
},
|
},
|
||||||
|
|
||||||
"parser": "babel-eslint",
|
|
||||||
|
|
||||||
"plugins": [
|
"plugins": [
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|||||||
13
LICENSE
13
LICENSE
@ -1,6 +1,6 @@
|
|||||||
The MIT License (MIT)
|
The MIT License
|
||||||
|
|
||||||
Copyright (c) 2017 Faris Ansari
|
Copyright (c) 2018 Frappé Technologies Pvt. Ltd. <developers@frappe.io>
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
@ -9,14 +9,13 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|||||||
copies of the Software, and to permit persons to whom the Software is
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
furnished to do so, subject to the following conditions:
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
The above copyright notice and this permission notice shall be included in
|
||||||
copies or substantial portions of the Software.
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
SOFTWARE.
|
THE SOFTWARE.
|
||||||
|
|
||||||
@ -26,8 +26,8 @@ var grid = new DataTable(document.querySelector('#data-table'), {
|
|||||||
|
|
||||||
## Contribute
|
## Contribute
|
||||||
|
|
||||||
* `npm run dev` - run this command and start hacking
|
* `yarn start` - Start rollup watch
|
||||||
* `npm run test` - run tests
|
* `yarn build` - Build js/css bundles
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|||||||
2504
dist/frappe-datatable.cjs.js
vendored
Normal file
2504
dist/frappe-datatable.cjs.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
251
dist/frappe-datatable.css
vendored
Normal file
251
dist/frappe-datatable.css
vendored
Normal file
@ -0,0 +1,251 @@
|
|||||||
|
/* variables */
|
||||||
|
|
||||||
|
.data-table {
|
||||||
|
|
||||||
|
/* styling */
|
||||||
|
width: 100%;
|
||||||
|
position: relative;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* resets */
|
||||||
|
|
||||||
|
.data-table *, .data-table *::after, .data-table *::before {
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table button, .data-table input {
|
||||||
|
overflow: visible;
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: inherit;
|
||||||
|
line-height: inherit;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table *, .data-table *:focus {
|
||||||
|
outline: none;
|
||||||
|
border-radius: 0px;
|
||||||
|
-webkit-box-shadow: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table table td {
|
||||||
|
padding: 0;
|
||||||
|
border: 1px solid #d1d8dd;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table thead td {
|
||||||
|
border-bottom-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table .freeze-container {
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
-webkit-box-pack: center;
|
||||||
|
-ms-flex-pack: center;
|
||||||
|
justify-content: center;
|
||||||
|
-ms-flex-line-pack: center;
|
||||||
|
align-content: center;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background-color: #f5f7fa;
|
||||||
|
opacity: 0.5;
|
||||||
|
font-size: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table .freeze-container span {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
-webkit-transform: translateY(-50%);
|
||||||
|
transform: translateY(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table .trash-container {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 30%;
|
||||||
|
right: 30%;
|
||||||
|
height: 70px;
|
||||||
|
background: palevioletred;
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.body-scrollable {
|
||||||
|
max-height: 500px;
|
||||||
|
overflow: auto;
|
||||||
|
border-bottom: 1px solid #d1d8dd;
|
||||||
|
}
|
||||||
|
|
||||||
|
.body-scrollable.row-highlight-all .data-table-row:not(.row-unhighlight) {
|
||||||
|
background-color: #f5f7fa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-header {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
background-color: white;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-header .content span:not(.column-resizer) {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-header .column-resizer {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 4px;
|
||||||
|
width: 0.25rem;
|
||||||
|
height: 100%;
|
||||||
|
background-color: rgb(82, 146, 247);
|
||||||
|
cursor: col-resize;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-header .data-table-dropdown {
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
display: -webkit-inline-box;
|
||||||
|
display: -ms-inline-flexbox;
|
||||||
|
display: inline-flex;
|
||||||
|
vertical-align: top;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-header .data-table-dropdown.is-active .data-table-dropdown-list {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-header .data-table-dropdown.is-active .data-table-dropdown-toggle {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-header .data-table-dropdown-toggle {
|
||||||
|
display: none;
|
||||||
|
background-color: transparent;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-header .data-table-dropdown-list {
|
||||||
|
display: none;
|
||||||
|
font-weight: normal;
|
||||||
|
|
||||||
|
position: absolute;
|
||||||
|
min-width: 128px;
|
||||||
|
min-width: 8rem;
|
||||||
|
top: 100%;
|
||||||
|
right: 0;
|
||||||
|
z-index: 1;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 3px;
|
||||||
|
-webkit-box-shadow: 0 2px 3px rgba(10, 10, 10, .1), 0 0 0 1px rgba(10, 10, 10, .1);
|
||||||
|
box-shadow: 0 2px 3px rgba(10, 10, 10, .1), 0 0 0 1px rgba(10, 10, 10, .1);
|
||||||
|
padding-bottom: 8px;
|
||||||
|
padding-bottom: 0.5rem;
|
||||||
|
padding-top: 8px;
|
||||||
|
padding-top: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-header .data-table-dropdown-list> div {
|
||||||
|
padding: 8px 16px;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-header .data-table-dropdown-list> div:hover {
|
||||||
|
background-color: #f5f7fa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-header .data-table-col.remove-column {
|
||||||
|
background-color: #FD8B8B;
|
||||||
|
-webkit-transition: 300ms background-color ease-in-out;
|
||||||
|
transition: 300ms background-color ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-header .data-table-col.sortable-chosen {
|
||||||
|
background-color: #f5f7fa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-col {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-col .content {
|
||||||
|
padding: 4px;
|
||||||
|
padding: 0.25rem;
|
||||||
|
border: 2px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-col .content.ellipsis {
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-col .edit-cell {
|
||||||
|
display: none;
|
||||||
|
// position: absolute;
|
||||||
|
padding: 4px;
|
||||||
|
padding: 0.25rem;
|
||||||
|
background: #fff;
|
||||||
|
z-index: 1;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-col .edit-cell input {
|
||||||
|
outline: none;
|
||||||
|
width: 100%;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-col.selected .content {
|
||||||
|
border: 2px solid rgb(82, 146, 247);
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-col.editing .content {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-col.editing .edit-cell {
|
||||||
|
border: 2px solid rgb(82, 146, 247);
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-col.highlight {
|
||||||
|
background-color: #f5f7fa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-col:hover .column-resizer {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-col:hover .data-table-dropdown-toggle {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-row.row-highlight {
|
||||||
|
background-color: #f5f7fa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.noselect {
|
||||||
|
-webkit-touch-callout: none;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.data-table-resize {
|
||||||
|
cursor: col-resize;
|
||||||
|
}
|
||||||
2505
dist/frappe-datatable.js
vendored
Normal file
2505
dist/frappe-datatable.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@ -13,7 +13,7 @@
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<link href="./assets/octicons/octicons.css" />
|
<link rel="stylesheet" href="./dist/frappe-datatable.css" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -33,7 +33,7 @@
|
|||||||
|
|
||||||
<script src="./node_modules/clusterize.js/clusterize.js"></script>
|
<script src="./node_modules/clusterize.js/clusterize.js"></script>
|
||||||
<script src="./node_modules/sortablejs/Sortable.js"></script>
|
<script src="./node_modules/sortablejs/Sortable.js"></script>
|
||||||
<script src="./lib/frappe-datatable.js"></script>
|
<script src="./dist/frappe-datatable.js"></script>
|
||||||
<script>
|
<script>
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
|
||||||
|
|||||||
1
lib/frappe-datatable.min.js
vendored
1
lib/frappe-datatable.min.js
vendored
File diff suppressed because one or more lines are too long
27
package.json
27
package.json
@ -2,32 +2,27 @@
|
|||||||
"name": "frappe-datatable",
|
"name": "frappe-datatable",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"description": "A modern datatable library for the web",
|
"description": "A modern datatable library for the web",
|
||||||
"main": "lib/frappe-datatable.js",
|
"main": "dist/frappe-datatable.cjs.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "npm run dev",
|
"start": "npm run dev",
|
||||||
"build": "webpack --env build",
|
"build": "rollup -c",
|
||||||
"dev": "webpack --progress --colors --watch --env dev",
|
"dev": "rollup -c -w",
|
||||||
"test": "mocha --compilers js:babel-core/register --colors ./test/*.spec.js",
|
"test": "mocha --compilers js:babel-core/register --colors ./test/*.spec.js",
|
||||||
"test:watch": "mocha --compilers js:babel-core/register --colors -w ./test/*.spec.js"
|
"test:watch": "mocha --compilers js:babel-core/register --colors -w ./test/*.spec.js"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel-cli": "6.24.1",
|
|
||||||
"babel-core": "6.24.1",
|
|
||||||
"babel-eslint": "7.2.3",
|
|
||||||
"babel-loader": "7.0.0",
|
|
||||||
"babel-plugin-add-module-exports": "0.2.1",
|
|
||||||
"babel-plugin-transform-builtin-extend": "^1.1.2",
|
|
||||||
"babel-preset-env": "^1.6.1",
|
|
||||||
"chai": "3.5.0",
|
"chai": "3.5.0",
|
||||||
"css-loader": "^0.28.7",
|
"cssnano": "^3.10.0",
|
||||||
|
"deepmerge": "^2.0.1",
|
||||||
"eslint": "3.19.0",
|
"eslint": "3.19.0",
|
||||||
"eslint-loader": "1.7.1",
|
"eslint-loader": "1.7.1",
|
||||||
"mocha": "3.3.0",
|
"mocha": "3.3.0",
|
||||||
"node-sass": "^4.5.3",
|
"postcss-cssnext": "^3.1.0",
|
||||||
"sass-loader": "^6.0.6",
|
"postcss-nested": "^3.0.0",
|
||||||
"style-loader": "^0.18.2",
|
"precss": "^3.1.0",
|
||||||
"webpack": "^3.1.0",
|
"rollup-plugin-json": "^2.3.0",
|
||||||
"yargs": "7.1.0"
|
"rollup-plugin-postcss": "^1.2.8",
|
||||||
|
"rollup-plugin-uglify": "^3.0.0"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|||||||
37
rollup.config.js
Normal file
37
rollup.config.js
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
import json from 'rollup-plugin-json';
|
||||||
|
// import uglify from 'rollup-plugin-uglify';
|
||||||
|
import postcss from 'rollup-plugin-postcss';
|
||||||
|
import nested from 'postcss-nested';
|
||||||
|
import cssnext from 'postcss-cssnext';
|
||||||
|
// import cssnano from 'cssnano';
|
||||||
|
|
||||||
|
const dev = {
|
||||||
|
input: 'src/index.js',
|
||||||
|
output: {
|
||||||
|
file: 'dist/frappe-datatable.js',
|
||||||
|
format: 'iife',
|
||||||
|
name: 'DataTable',
|
||||||
|
globals: {
|
||||||
|
sortablejs: 'Sortable',
|
||||||
|
'clusterize.js': 'Clusterize'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
plugins: [
|
||||||
|
json(),
|
||||||
|
postcss({
|
||||||
|
extract: 'dist/frappe-datatable.css',
|
||||||
|
plugins: [
|
||||||
|
nested(),
|
||||||
|
cssnext()
|
||||||
|
]
|
||||||
|
})
|
||||||
|
],
|
||||||
|
external: ['sortablejs', 'clusterize.js']
|
||||||
|
};
|
||||||
|
|
||||||
|
export default [dev, Object.assign(dev, {
|
||||||
|
output: {
|
||||||
|
format: 'cjs',
|
||||||
|
file: 'dist/frappe-datatable.cjs.js'
|
||||||
|
}
|
||||||
|
})];
|
||||||
@ -7,7 +7,7 @@ import BodyRenderer from './body-renderer';
|
|||||||
import Style from './style';
|
import Style from './style';
|
||||||
import Keyboard from './keyboard';
|
import Keyboard from './keyboard';
|
||||||
import DEFAULT_OPTIONS from './defaults';
|
import DEFAULT_OPTIONS from './defaults';
|
||||||
import './style.scss';
|
import './style.css';
|
||||||
|
|
||||||
class DataTable {
|
class DataTable {
|
||||||
constructor(wrapper, options) {
|
constructor(wrapper, options) {
|
||||||
|
|||||||
@ -1,14 +1,16 @@
|
|||||||
/* variables */
|
/* variables */
|
||||||
|
|
||||||
$border-color: #d1d8dd;
|
:root {
|
||||||
$primary-color: rgb(82, 146, 247);
|
--border-color: #d1d8dd;
|
||||||
$light-bg: #f5f7fa;
|
--primary-color: rgb(82, 146, 247);
|
||||||
$light-red: #FD8B8B;
|
--light-bg: #f5f7fa;
|
||||||
$text-color: #000000;
|
--light-red: #FD8B8B;
|
||||||
|
--text-color: #000000;
|
||||||
|
|
||||||
$spacer-1: 0.25rem;
|
--spacer-1: 0.25rem;
|
||||||
$spacer-2: 0.5rem;
|
--spacer-2: 0.5rem;
|
||||||
$spacer-3: 1rem;
|
--spacer-3: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
.data-table {
|
.data-table {
|
||||||
/* resets */
|
/* resets */
|
||||||
@ -42,7 +44,7 @@ $spacer-3: 1rem;
|
|||||||
|
|
||||||
table td {
|
table td {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 1px solid $border-color;
|
border: 1px solid var(--border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
thead td {
|
thead td {
|
||||||
@ -58,7 +60,7 @@ $spacer-3: 1rem;
|
|||||||
right: 0;
|
right: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
background-color: $light-bg;
|
background-color: var(--light-bg);
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
font-size: 2em;
|
font-size: 2em;
|
||||||
|
|
||||||
@ -83,10 +85,10 @@ $spacer-3: 1rem;
|
|||||||
.body-scrollable {
|
.body-scrollable {
|
||||||
max-height: 500px;
|
max-height: 500px;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
border-bottom: 1px solid $border-color;
|
border-bottom: 1px solid var(--border-color);
|
||||||
|
|
||||||
&.row-highlight-all .data-table-row:not(.row-unhighlight) {
|
&.row-highlight-all .data-table-row:not(.row-unhighlight) {
|
||||||
background-color: $light-bg;
|
background-color: var(--light-bg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,9 +108,9 @@ $spacer-3: 1rem;
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0;
|
right: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
width: $spacer-1;
|
width: var(--spacer-1);
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: $primary-color;
|
background-color: var(--primary-color);
|
||||||
cursor: col-resize;
|
cursor: col-resize;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -148,25 +150,25 @@ $spacer-3: 1rem;
|
|||||||
background-color: white;
|
background-color: white;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
|
box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
|
||||||
padding-bottom: $spacer-2;
|
padding-bottom: var(--spacer-2);
|
||||||
padding-top: $spacer-2;
|
padding-top: var(--spacer-2);
|
||||||
|
|
||||||
&> div {
|
&> div {
|
||||||
padding: $spacer-2 $spacer-3;
|
padding: var(--spacer-2) var(--spacer-3);
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: $light-bg;
|
background-color: var(--light-bg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.data-table-col.remove-column {
|
.data-table-col.remove-column {
|
||||||
background-color: $light-red;
|
background-color: var(--light-red);
|
||||||
transition: 300ms background-color ease-in-out;
|
transition: 300ms background-color ease-in-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
.data-table-col.sortable-chosen {
|
.data-table-col.sortable-chosen {
|
||||||
background-color: $light-bg;
|
background-color: var(--light-bg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -174,7 +176,7 @@ $spacer-3: 1rem;
|
|||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
padding: $spacer-1;
|
padding: var(--spacer-1);
|
||||||
border: 2px solid transparent;
|
border: 2px solid transparent;
|
||||||
|
|
||||||
&.ellipsis {
|
&.ellipsis {
|
||||||
@ -187,7 +189,7 @@ $spacer-3: 1rem;
|
|||||||
.edit-cell {
|
.edit-cell {
|
||||||
display: none;
|
display: none;
|
||||||
// position: absolute;
|
// position: absolute;
|
||||||
padding: $spacer-1;
|
padding: var(--spacer-1);
|
||||||
background: #fff;
|
background: #fff;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@ -200,7 +202,7 @@ $spacer-3: 1rem;
|
|||||||
}
|
}
|
||||||
|
|
||||||
&.selected .content {
|
&.selected .content {
|
||||||
border: 2px solid $primary-color;
|
border: 2px solid var(--primary-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
&.editing {
|
&.editing {
|
||||||
@ -209,13 +211,13 @@ $spacer-3: 1rem;
|
|||||||
}
|
}
|
||||||
|
|
||||||
.edit-cell {
|
.edit-cell {
|
||||||
border: 2px solid $primary-color;
|
border: 2px solid var(--primary-color);
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.highlight {
|
&.highlight {
|
||||||
background-color: $light-bg;
|
background-color: var(--light-bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover .column-resizer {
|
&:hover .column-resizer {
|
||||||
@ -229,7 +231,7 @@ $spacer-3: 1rem;
|
|||||||
|
|
||||||
.data-table-row {
|
.data-table-row {
|
||||||
&.row-highlight {
|
&.row-highlight {
|
||||||
background-color: $light-bg;
|
background-color: var(--light-bg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1,72 +0,0 @@
|
|||||||
/* global __dirname, require, module*/
|
|
||||||
|
|
||||||
const webpack = require('webpack');
|
|
||||||
const UglifyJsPlugin = webpack.optimize.UglifyJsPlugin;
|
|
||||||
const path = require('path');
|
|
||||||
const env = require('yargs').argv.env; // use --env with webpack 2
|
|
||||||
|
|
||||||
let libraryName = 'DataTable', outputFile = 'frappe-datatable';
|
|
||||||
|
|
||||||
let plugins = [];
|
|
||||||
|
|
||||||
if (env === 'build') {
|
|
||||||
plugins.push(new UglifyJsPlugin({ minimize: true }));
|
|
||||||
outputFile += '.min.js';
|
|
||||||
} else {
|
|
||||||
outputFile += '.js';
|
|
||||||
}
|
|
||||||
|
|
||||||
const config = {
|
|
||||||
entry: __dirname + '/src/index.js',
|
|
||||||
devtool: 'source-map',
|
|
||||||
output: {
|
|
||||||
path: __dirname + '/lib',
|
|
||||||
filename: outputFile,
|
|
||||||
library: libraryName,
|
|
||||||
libraryTarget: 'umd',
|
|
||||||
umdNamedDefine: true
|
|
||||||
},
|
|
||||||
module: {
|
|
||||||
rules: [
|
|
||||||
{
|
|
||||||
test: /(\.jsx|\.js)$/,
|
|
||||||
loader: 'babel-loader',
|
|
||||||
exclude: /(node_modules|bower_components)/
|
|
||||||
},
|
|
||||||
{
|
|
||||||
test: /(\.jsx|\.js)$/,
|
|
||||||
loader: 'eslint-loader',
|
|
||||||
exclude: /node_modules/
|
|
||||||
},
|
|
||||||
{
|
|
||||||
test: /\.scss$/,
|
|
||||||
use: [{
|
|
||||||
loader: 'style-loader' // creates style nodes from JS strings
|
|
||||||
}, {
|
|
||||||
loader: 'css-loader' // translates CSS into CommonJS
|
|
||||||
}, {
|
|
||||||
loader: 'sass-loader' // compiles Sass to CSS
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
resolve: {
|
|
||||||
modules: [path.resolve('./node_modules'), path.resolve('./src')],
|
|
||||||
extensions: ['.json', '.js']
|
|
||||||
},
|
|
||||||
plugins: plugins,
|
|
||||||
externals: {
|
|
||||||
'clusterize.js': {
|
|
||||||
commonjs: 'clusterize.js',
|
|
||||||
commonjs2: 'clusterize.js',
|
|
||||||
root: 'Clusterize'
|
|
||||||
},
|
|
||||||
sortablejs: {
|
|
||||||
commonjs: 'sortablejs',
|
|
||||||
commonjs2: 'sortablejs',
|
|
||||||
root: 'Sortable'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = config;
|
|
||||||
Loading…
x
Reference in New Issue
Block a user