Compare commits

...

1 Commits

Author SHA1 Message Date
f762af05e5 added icons to the rows 2021-10-08 14:56:47 +03:00
15 changed files with 73 additions and 15 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/app.532fa67fd2123b5dfcf1.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4
dist/index.html vendored
View File

@@ -4,12 +4,12 @@
<meta charset="UTF-8">
<title>Notes in JS (Home task 1)</title>
<link href="app.css" rel="stylesheet"></head>
<link href="app.532fa67fd2123b5dfcf1.css" rel="stylesheet"></head>
<body>
<div id="appConsole" class="uk-container uk-margin-remove uk-background-muted uk-text-small"></div>
<div id="app" class="uk-container"></div>
<script defer src="vendors-node_modules_faker_index_js.19f5ee6c7563dd0839a8.js"></script><script defer src="faker.19f5ee6c7563dd0839a8.js"></script><script defer src="app.19f5ee6c7563dd0839a8.js"></script></body>
<script defer src="vendors-node_modules_faker_index_js.532fa67fd2123b5dfcf1.js"></script><script defer src="faker.532fa67fd2123b5dfcf1.js"></script><script defer src="app.532fa67fd2123b5dfcf1.js"></script></body>
</html>

1
src/images/idea_48dp.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="#f8f8ff"><path d="M0 0h24v24H0z" fill="none"/><path d="M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.86-3.14-7-7-7zm2.85 11.1l-.85.6V16h-4v-2.3l-.85-.6C7.8 12.16 7 10.63 7 9c0-2.76 2.24-5 5-5s5 2.24 5 5c0 1.63-.8 3.16-2.15 4.1z"/></svg>

After

Width:  |  Height:  |  Size: 447 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="#f8f8ff"><path d="M5 17h3l2-4V7H4v6h3l-2 4zm10 0h3l2-4V7h-6v6h3l-2 4z"/></svg>

After

Width:  |  Height:  |  Size: 171 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 20 20" height="48px" viewBox="0 0 20 20" width="48px" fill="#f8f8ff"><g><rect fill="none" height="20" width="20"/></g><g><g><path d="M10.5,4C8.22,4,6.35,5.71,6.06,7.91l-1.54,2.31C4.3,10.55,4.53,11,4.93,11H6v2c0,0.55,0.45,1,1,1h1v2h5v-3.76 c1.21-0.81,2-2.18,2-3.74C15,6.01,12.99,4,10.5,4z M12.33,8.67c0,0.09-0.01,0.18-0.02,0.26l0.56,0.44 c0.05,0.04,0.07,0.11,0.03,0.17l-0.53,0.92c-0.03,0.06-0.1,0.08-0.16,0.06l-0.66-0.27c-0.14,0.1-0.29,0.19-0.45,0.26L11,11.22 c-0.01,0.07-0.06,0.11-0.13,0.11H9.8c-0.07,0-0.12-0.05-0.13-0.11l-0.1-0.71c-0.16-0.07-0.31-0.15-0.45-0.26l-0.66,0.27 c-0.06,0.02-0.13,0-0.16-0.06L7.76,9.54C7.73,9.48,7.74,9.41,7.79,9.37l0.56-0.44C8.34,8.84,8.33,8.75,8.33,8.67 s0.01-0.18,0.02-0.26L7.79,7.97C7.74,7.93,7.73,7.86,7.76,7.8l0.53-0.92c0.03-0.06,0.1-0.08,0.16-0.06l0.66,0.27 c0.14-0.1,0.29-0.19,0.45-0.26l0.1-0.71C9.68,6.05,9.73,6,9.8,6h1.07c0.07,0,0.12,0.05,0.13,0.11l0.1,0.71 c0.16,0.07,0.31,0.15,0.45,0.26l0.66-0.27c0.06-0.02,0.13,0,0.16,0.06l0.53,0.92c0.03,0.06,0.02,0.13-0.03,0.17l-0.56,0.44 C12.33,8.49,12.33,8.58,12.33,8.67z"/><path d="M10.33,7.71c-0.52,0-0.95,0.43-0.95,0.95c0,0.52,0.43,0.95,0.95,0.95s0.95-0.43,0.95-0.95 C11.29,8.14,10.86,7.71,10.33,7.71z"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

1
src/images/task_48dp.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="#f8f8ff"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M17 18c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2zM7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zm0-3l1.1-2h7.45c.75 0 1.41-.41 1.75-1.03L21.7 4H5.21l-.94-2H1v2h2l3.6 7.59L3.62 17H19v-2H7z"/></svg>

After

Width:  |  Height:  |  Size: 366 B

View File

@@ -146,7 +146,11 @@ export default class DOMController {
for (const [key, value] of Object.entries(NotesAPI.getAnalytics())) {
const row = createNode('tr')
row.classList.add('category-row')
const td = createNode('td', {}, ucWords(key))
const i = createNode('i', { class: `icon-${key}` }, )
td.appendChild(i)
row.appendChild(td)
for (const [key, val] of Object.entries( value ) ) {
@@ -159,7 +163,7 @@ export default class DOMController {
}
/**
*
* TODO: need to rewrite simplified
* @param len
* @param archived
*/
@@ -175,6 +179,8 @@ export default class DOMController {
const row = createNode('tr')
row.dataset.id = el.id
row.classList.add('category-row')
let i = createNode('i', { class: `icon-${el.category}` }, )
window.env.gridOrder.notes.forEach(key => {
let attrs = {}
@@ -211,6 +217,10 @@ export default class DOMController {
const td = createNode('td', attrs, value)
if( key === 'createdAt'){
td.appendChild(i)
}
if (key.match(/^(edit|archive|delete)$/)) {
this.listener([td, 'click', td.dataset.action, td])
}

View File

@@ -172,8 +172,8 @@ export default class NotesAPI {
cats.forEach((cat, i) => {
analytics[cat] = {
Active: isArchive.filter(el => el[cat] === 'on').length,
Archived: isArchive.filter(el => el[cat] == '').length,
Archived: isArchive.filter(el => el[cat] === 'on').length,
Active: isArchive.filter(el => el[cat] == '').length,
}
})
}

View File

@@ -73,6 +73,43 @@ tbody td{
background-size: 16px;
}
tr.category-row td:first-child {
position: relative;
padding-left: 60px;
}
tr.category-row td:first-child > i{
position: absolute;
display: block;
width: 32px;
height: 32px;
top: 4px;
left: 8px;
background-repeat: no-repeat;
background-position: center;
background-size: 24px;
border-radius: 50%;
background-color: #888;
}
.icon-task{
background-image: url(../images/task_48dp.svg);
background-size: 20px !important;
}
.icon-quote{
background-image: url(../images/quote_48dp.svg)
}
.icon-random_thought{
background-image: url(../images/random_thought_48dp.svg)
}
.icon-idea{
background-image: url(../images/idea_48dp.svg)
}
.icon-edit{
background-image: url(../images/edit_48dp.svg)
}

View File

@@ -5,7 +5,7 @@ export default `
</div>
</nav>
<table id="notesGrid" class="uk-table uk-table-small uk-table-striped uk-table-hover uk-table-divider">
<col width="156">
<col width="222">
<col width="250">
<col width="150">
<col>
@@ -30,9 +30,9 @@ export default `
</table>
<table id="analyticsGrid" class="uk-table uk-table-small uk-table-striped uk-table-hover uk-table-divider uk-hidden">
<col width="156">
<col width="222">
<col width="250">
<col width="150">
<col>
<thead>
<tr>
<th>Note Category</th>
@@ -41,6 +41,9 @@ export default `
</tr>
</thead>
<tbody>
<tr class="category-row">
<td><i class="icon-task icon-idea icon-quote icon-random_thought"></i></td>
</tr>
</tbody>
</table>

View File

@@ -23,7 +23,9 @@ const isDev = process.env.NODE_ENV !== 'production'
const plugins = [
new CleanWebpackPlugin(),
new MiniCssExtractPlugin(),
new MiniCssExtractPlugin({
filename: '[name].[hash].css'
}),
new PurgeCSSPlugin({
paths: glob.sync(`${path.join(__dirname, 'src')}/**/*`, { nodir: true }),
//only: ['bundle', 'vendor']
@@ -51,6 +53,8 @@ const stylesLoaders = loader => {
},
]
console.log(loaders)
if (loader) {
loaders.push(loader)
}
@@ -103,7 +107,7 @@ module.exports = {
],
},
//
entry: { faker: './src/faker', app: './src/index' },
entry: { faker: './src/faker', app: './src/index' },
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].[hash].js',