Skip to content

Commit

Permalink
#439 DrawTool - Features Tab filter 2
Browse files Browse the repository at this point in the history
  • Loading branch information
tariqksoliman committed Oct 13, 2023
1 parent 91283a2 commit 6206c05
Show file tree
Hide file tree
Showing 8 changed files with 10,858 additions and 3,291 deletions.
3 changes: 2 additions & 1 deletion API/setups.js
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,9 @@ let getBackendSetups = (cb) => {

cb({
init: (s) => {
for (let f in setups)
for (let f in setups) {
if (typeof setups[f].onceInit === "function") setups[f].onceInit(s);
}
},
started: (s) => {
for (let f in setups)
Expand Down
12,674 changes: 9,777 additions & 2,897 deletions package-lock.json

Large diffs are not rendered by default.

13 changes: 13 additions & 0 deletions src/essence/Ancillary/LocalFilterer.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,19 @@ const LocalFilterer = {
aggs['geometry.type'].aggs[feature.geometry.type] || 0
aggs['geometry.type'].aggs[feature.geometry.type]++
})

// sort values
Object.keys(aggs).forEach((agg) => {
const sortedAggs = {}
Object.keys(aggs[agg].aggs)
.sort()
.reverse()
.forEach((agg2) => {
sortedAggs[agg2] = aggs[agg].aggs[agg2]
})
aggs[agg].aggs = sortedAggs
})

return aggs
},
filter: function (layerName, filter, refreshFunction) {
Expand Down
198 changes: 0 additions & 198 deletions src/essence/Tools/Draw/DrawTool.css
Original file line number Diff line number Diff line change
Expand Up @@ -310,74 +310,6 @@
height: 30px;
}

#drawToolShapesCopyDiv {
background: var(--color-a);
display: flex;
width: 100%;
height: 34px;
border-top: 1px solid var(--color-d);
padding: 4px 4px 1px 4px;
justify-content: space-between;
}
#drawToolShapesCopyDiv > div:first-child {
line-height: 27px;
font-weight: bold;
width: 48px;
color: var(--color-f);
font-size: 13px;
}
#drawToolShapesCopyDiv > div:last-child {
width: 48px;
color: white;
background: var(--color-a2);
font-size: 13px;
padding: 7px;
position: relative;
height: 25px;
line-height: 11px;
text-align: center;
font-weight: bold;
cursor: pointer;
transition: background 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
#drawToolShapesCopyDiv > div:last-child:hover {
background: var(--color-c);
}

#drawToolShapesCopyDiv select {
height: 24px !important;
padding: unset !important;
}

#drawToolShapesCopyDropdown {
border: 1px solid var(--color-e);
flex: 1;
height: 25px;
margin: 0px 5px;
cursor: not-allowed;
}
#drawToolShapesCopyDropdown > .dropdown {
min-width: 144px !important;
max-width: 144px !important;
background: var(--color-a2);
color: var(--color-a6);
border: none;
height: 25px;
}
#drawToolShapesCopyMessageDiv {
position: absolute;
bottom: 43px;
background: linear-gradient(to right, #26ff67, rgba(127, 255, 0, 1));
width: 100%;
height: 31px;
padding: 6px 7px 7px 7px;
text-align: center;
color: black;
font-weight: bold;
opacity: 0;
pointer-events: none;
transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

#drawToolDrawFilterDiv {
background: var(--color-b);
Expand Down Expand Up @@ -527,50 +459,6 @@
border-bottom: 3px solid var(--color-c);
}

#drawToolShapesFilterDiv {
background: var(--color-a);
display: flex;
width: 100%;
}
#drawToolShapesFilter {
border: none;
border-bottom: 1px solid rgba(0, 0, 0, 0.3);
flex: 1;
padding: 0px 8px;
height: 30px;
background: var(--color-a1);
color: var(--color-a7);
}
#drawToolShapesFilterClear {
border-bottom: 1px solid rgba(0, 0, 0, 0.3);
width: 30px;
line-height: 28px;
color: var(--color-a7);
text-align: center;
background: var(--color-a1);
height: 30px;
transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

#drawToolShapesFilterClear > i {
background: none !important;
color: var(--color-a5) !important;
border-bottom: none !important;
margin: 0 !important;
}
#drawToolShapesFilterClear:hover > i {
color: var(--color-a7) !important;
}
#drawToolShapesFilterCount {
border-bottom: 1px solid rgba(0, 0, 0, 0.3);
line-height: 30px;
color: var(--color-a5);
text-align: center;
background: var(--color-a1);
height: 30px;
font-size: 12px;
}

#drawToolDrawFiles {
flex: 1;
height: 1px;
Expand Down Expand Up @@ -959,92 +847,6 @@
border: 1px solid #989898;
}

#drawToolShapes {
height: 100%;
}
#drawToolDrawShapesList {
overflow-y: auto;
height: calc(100% - 65px);
}
#drawToolShapesFeaturesList {
list-style-type: none;
padding: 0;
margin: 0;
}
.drawToolShapesFeaturesListFileHeader {
border-bottom: 1px solid var(--color-m3);
font-size: 13px;
width: max-content;
padding: 4px 8px;
}
.drawToolShapeLi {
border-bottom: 1px solid var(--color-a1-5);
color: var(--color-f);
background: rgba(255, 255, 255, 0);
transition: background 0.4s cubic-bezier(0.39, 0.575, 0.565, 1),
padding 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.drawToolShapeLi:hover,
.drawToolShapeLi.hovered {
background: var(--color-e);
}
.drawToolShapeLi.active {
background: var(--color-h);
color: black;
font-weight: bold;
}
.drawToolShapeLi.temporallyHidden {
display: none !important;
}

.drawToolShapeLiItem {
cursor: pointer;
display: flex;
height: 30px;
line-height: 30px;
}
.drawToolShapeLiItem > div:first-child {
width: calc(100% - 55px);
justify-content: start;
}
.drawToolShapeLiItem > div:first-child > div.flexbetween {
width: calc(100% - 7px);
}
.drawToolShapeLiItemContent {
width: 100%;
padding: 3px 0px;
}

.drawToolShapeLiItemCheck {
width: 16px;
height: 15px;
border-radius: 8px;
margin: 5px 5px 0px 5px;
border: 2px solid rgba(0, 0, 0, 0.2);
transition: border 0.2s ease-out;
}
.drawToolShapeLiItemCheck.checked {
border: 2px solid black;
}

.drawToolShapeLiItemA {
width: 4px;
height: 100%;
}
.drawToolShapeLiItemB {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.drawToolShapeLiItemC {
color: white;
padding: 0px 4px;
margin-right: 3px;
width: 36px;
font-family: monospace;
text-align: center;
}

.drawToolContextMenu {
height: 100%;
display: flex;
Expand Down
40 changes: 34 additions & 6 deletions src/essence/Tools/Draw/DrawTool.js
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ var markup = [
"<div class='drawToolDrawingTypeText' draw='text' title='Text'><i class='mdi mdi-format-text mdi-18px'></i></div>",
"<div class='drawToolDrawingTypeArrow' draw='arrow' title='Arrow'><i class='mdi mdi-arrow-top-right mdi-18px'></i></div>",
"</div>",
"<div id='drawToolDrawingSettingsToggle' title='Draw Settings'><i class='mdi mdi-settings mdi-18px'></i></div>",
"<div id='drawToolDrawingSettingsToggle' title='Draw Settings'><i class='mdi mdi-cog mdi-18px'></i></div>",
"</div>",
"<div id='drawToolDrawSettings'>",
"<div id='drawToolDrawSettingsBody'>",
Expand Down Expand Up @@ -217,10 +217,30 @@ var markup = [

"<div id='drawToolShapes'>",
"<div id='drawToolShapesFilterDiv'>",
"<div id='drawToolShapesFilterAdvanced'><i class='mdi mdi-filter mdi-18px'></i></div>",
"<input id='drawToolShapesFilter' type='text' placeholder='Filter Shapes' />",
"<div id='drawToolShapesFilterClear'><i class='mdi mdi-close mdi-18px'></i></div>",
"<div id='drawToolShapesFilterCount'></div>",
"</div>",
"<div id='drawToolShapesFilterAdvancedDiv'>",
"<div id='drawToolShapes_filtering'>",
"<div id='drawToolShapes_filtering_header'>",
"<div id='drawToolShapes_filtering_title_left'>",
"<div id='drawToolShapes_filtering_title'>Advanced Filter</div>",
"</div>",
"<div id='drawToolShapes_filtering_adds'>",
"<div id='drawToolShapes_filtering_add_value' class='mmgisButton5' title='Add New Key-Value Filter'><div>Add</div><i class='mdi mdi-plus mdi-18px'></i></div>",
"</div>",
"</div>",
"<div id='drawToolShapes_filtering_filters'>",
"<ul id='drawToolShapes_filtering_filters_list'></ul>",
"</div>",
`<div id='drawToolShapes_filtering_footer'>`,
"<div id='drawToolShapes_filtering_clear' class='mmgisButton5'><div>Clear Filter</div></div>",
"<div id='drawToolShapes_filtering_submit' class='mmgisButton5'><div id='drawToolShapes_filtering_submit_loading'><div></div></div><div id='drawToolShapes_filtering_submit_text'>Submit</div><i class='mdi mdi-arrow-right mdi-18px'></i></div>",
"</div>",
"</div>",
"</div>",
"<div id='drawToolDrawShapesList' class='mmgisScrollbar2'>",
"<ul id='drawToolShapesFeaturesList' class='unselectable'>",
"</ul>",
Expand Down Expand Up @@ -785,7 +805,8 @@ var DrawTool = {
$('#drawToolShapesCopyDropdown *').remove()
DrawTool.endDrawing()
DrawTool.populateShapes()
$('#drawToolShapes').css('display', 'inherit')
$('#drawToolShapes').css('display', 'flex')
DrawTool.setSubmitButtonState(true)
break
case 'history':
$('.drawToolContextMenuHeaderClose').click()
Expand Down Expand Up @@ -1288,6 +1309,7 @@ var DrawTool = {
},
timeFilterDrawingLayer(fileId) {
if (L_.layers.layer[`DrawTool_${fileId}`]) {
DrawTool.setSubmitButtonState(true)
const file = DrawTool.getFileObjectWithId(fileId)

let startField
Expand All @@ -1312,10 +1334,13 @@ var DrawTool = {
startField,
endField
)

if (l2.savedOptions == null)
l2.savedOptions = JSON.parse(
JSON.stringify(l2.options)
)
l2.savedOptions = {
opacity: l2.options.opacity,
fillOpacity: l2.options.fillOpacity,
}

l2.temporallyHidden = !isVisible
if (l2.temporallyHidden)
$(
Expand Down Expand Up @@ -1351,7 +1376,10 @@ var DrawTool = {
endField
)
if (l.savedOptions == null)
l.savedOptions = JSON.parse(JSON.stringify(l.options))
l.savedOptions = {
opacity: l.options.opacity,
fillOpacity: l.options.fillOpacity,
}

l.temporallyHidden = !isVisible
if (l.temporallyHidden)
Expand Down
Loading

0 comments on commit 6206c05

Please sign in to comment.