@geogirafe/lib-geoportal 1.0.2136269476 → 1.0.2138549281
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/i18n/de.json +1 -0
- package/assets/i18n/en.json +1 -0
- package/assets/i18n/fr.json +1 -0
- package/assets/i18n/it.json +1 -0
- package/components/auth-mobile/component.js +1 -1
- package/components/basemap/component.js +1 -1
- package/components/displayselectorbutton-mobile/component.js +1 -1
- package/components/drawing-container-mobile/component.js +1 -1
- package/components/main.d.ts +5 -7
- package/components/main.js +5 -7
- package/components/menu-mobile/component.js +1 -1
- package/components/print/tools/MFPEncoder.spec.js +4 -2
- package/components/search-mobile/component.js +1 -1
- package/components/swipe-up-panel-mobile/component.js +2 -2
- package/components/themes-mobile/group/component.d.ts +18 -0
- package/components/themes-mobile/group/component.js +51 -0
- package/components/themes-mobile/layer/component.d.ts +15 -0
- package/components/themes-mobile/layer/component.js +52 -0
- package/components/themes-mobile/layer-selected/component.d.ts +18 -0
- package/components/themes-mobile/layer-selected/component.js +51 -0
- package/components/themes-mobile/theme/component.d.ts +13 -0
- package/components/themes-mobile/theme/component.js +46 -0
- package/components/themes-mobile/themes-select/component.d.ts +17 -0
- package/components/themes-mobile/themes-select/component.js +103 -0
- package/components/treeview/tools/treeviewelement.d.ts +3 -2
- package/components/treeview/treeviewitem/component.d.ts +3 -2
- package/components/treeview/treeviewitem/component.js +5 -58
- package/components/userpreferences/component.js +1 -1
- package/package.json +1 -1
- package/styles/common.mobile.css +53 -0
- package/styles/mobile.css +0 -7
- package/templates/mobile.html +2 -1
- package/templates/public/about.json +1 -1
- package/tools/app/geogirafeapp-mobile.js +10 -14
- package/tools/main.d.ts +1 -0
- package/tools/main.js +1 -0
- package/tools/wms/wmslegendhelper.d.ts +9 -0
- package/tools/wms/wmslegendhelper.js +65 -0
- package/assets/icons/sort-down-black.svg +0 -1
- package/components/basemaplist-mobile/basemaplist/component.d.ts +0 -10
- package/components/basemaplist-mobile/basemaplist/component.js +0 -55
- package/components/basemaplist-mobile/basemaplistitem/component.d.ts +0 -10
- package/components/basemaplist-mobile/basemaplistitem/component.js +0 -42
- package/components/basemapthemelayerselector-mobile/component.d.ts +0 -6
- package/components/basemapthemelayerselector-mobile/component.js +0 -19
- package/components/layerlist-mobile/layerlist/component.d.ts +0 -14
- package/components/layerlist-mobile/layerlist/component.js +0 -82
- package/components/layerlist-mobile/layerlistitem/component.d.ts +0 -12
- package/components/layerlist-mobile/layerlistitem/component.js +0 -59
- package/components/themelist-mobile/themelist/component.d.ts +0 -12
- package/components/themelist-mobile/themelist/component.js +0 -64
- package/components/themelist-mobile/themelistitem/component.d.ts +0 -11
- package/components/themelist-mobile/themelistitem/component.js +0 -49
package/assets/i18n/de.json
CHANGED
package/assets/i18n/en.json
CHANGED
package/assets/i18n/fr.json
CHANGED
package/assets/i18n/it.json
CHANGED
|
@@ -3,7 +3,7 @@ import OauthComponent from '../auth/component';
|
|
|
3
3
|
export default class MobileOauthComponent extends OauthComponent {
|
|
4
4
|
template = () => {
|
|
5
5
|
return uHtml `<style>
|
|
6
|
-
.hidden{display:none}.girafe-button-big{filter:drop-shadow(0 0 8px #0000004d);background-color:var(--bkg-color);width:3.5rem;height:3.5rem;color:var(--text-color);border:none;border-radius:4rem;flex-direction:column;align-items:center;padding:.5rem;display:flex}.girafe-button-big img{width:95%;height:auto;padding:5%;overflow:hidden}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color)}
|
|
6
|
+
.hidden{display:none}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.gg-icon-button,.gg-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-button{text-align:left}.gg-small{flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/2.5);margin:0}.gg-small span{margin-left:.5rem;font-size:1rem}.girafe-button-big{filter:drop-shadow(0 0 8px #0000004d);background-color:var(--bkg-color);width:3.5rem;height:3.5rem;color:var(--text-color);border:none;border-radius:4rem;flex-direction:column;align-items:center;padding:.5rem;display:flex}.girafe-button-big img{width:95%;height:auto;padding:5%;overflow:hidden}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color)}
|
|
7
7
|
</style><style>
|
|
8
8
|
.container{filter:drop-shadow(0 4px 7px #0004382c);background-color:#fff;border-radius:8px;flex-direction:column;padding:1em;display:flex}.container:active{background-color:#c6ceda}.container>button{background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.container>button>img{opacity:.7;width:25%;padding-bottom:1em}.container>button>span{color:#3f68a7;flex:1;justify-content:center;align-items:center;font-size:1.2em;font-weight:600;display:flex}
|
|
9
9
|
</style>
|
|
@@ -8,7 +8,7 @@ class BasemapComponent extends GirafeHTMLElement {
|
|
|
8
8
|
return uHtml `<style>
|
|
9
9
|
*{font-family:Arial,sans-serif}.hidden{display:none!important}.gg-rotate90{transform:rotate(90deg)}.gg-rotate180{transform:rotate(180deg)}.gg-rotate270{transform:rotate(270deg)}img{filter:var(--svg-filter)}img.legend-image{filter:var(--svg-map-filter);background:var(--svg-legend-bkg)}div{scrollbar-width:thin}a,a:visited{color:var(--link-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-wait{0%{transform:rotate(0)}7%{transform:rotate(360deg)}to{transform:rotate(360deg)}}.gg-spin{animation-name:spin;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite}.gg-spin-wait{animation-name:spin-wait;animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#999}.gg-button,.gg-select,.gg-input,.gg-textarea{background-color:var(--bkg-color);color:var(--text-color);border:var(--app-standard-border);box-sizing:border-box;cursor:pointer;border-radius:3px;outline:0;margin:0;padding:0 0 0 .5rem;display:inline-block}.gg-label{background-color:var(--bkg-color);color:var(--text-color);border:none;align-items:center;margin:0;padding:0;display:flex}.gg-button,.gg-select,.gg-input,.gg-label{min-height:calc(var(--app-standard-height)/1.5)}.gg-textarea{max-height:initial;resize:vertical;height:6rem;padding:.5rem;line-height:1.3rem}.gg-input{cursor:text}.gg-checkbox{accent-color:var(--text-color);width:1.2rem}.gg-range{accent-color:var(--text-color)}.gg-button{padding:0 .5rem}.gg-button.active{border:solid 1px var(--text-color-grad2);background-color:var(--text-color-grad2);color:var(--bkg-color)}.gg-button:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3;border:none}.gg-input:disabled,.gg-select:disabled,.gg-textarea:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3}.gg-button>img{vertical-align:middle}.gg-icon-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-big,.gg-big-withtext{min-width:var(--app-standard-height);min-height:var(--app-standard-height);max-height:var(--app-standard-height)}.gg-big img,.gg-big-withtext img{width:calc(var(--app-standard-height) - 1.5rem);margin:0}.gg-big-withtext span{font-variant:small-caps;padding:0 1rem;font-size:.9rem}.gg-medium,.gg-medium-withtext{min-width:calc(var(--app-standard-height)/1.2);min-height:calc(var(--app-standard-height)/1.2);max-height:calc(var(--app-standard-height)/1.2);flex-direction:row}.gg-medium img{width:calc(var(--app-standard-height)/2.4);margin:0}.gg-medium-withtext img{width:calc(var(--app-standard-height)/2.4);margin-left:.5rem}.gg-medium-withtext span{padding:0 1rem 0 .5rem;font-size:.9rem}.gg-small,.gg-small-withtext{min-width:calc(var(--app-standard-height)/2);min-height:calc(var(--app-standard-height)/2);max-height:calc(var(--app-standard-height)/2);flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/3);margin:0}.gg-small-withtext img{width:calc(var(--app-standard-height)/3);margin-left:.5rem}.gg-small-withtext span{padding:0 .5rem 0 .3rem;font-size:.9rem}.gg-button:hover,.gg-select:hover,.gg-input:hover,.gg-textarea:hover,.gg-icon-button:hover{background-color:var(--bkg-color-grad1)}.gg-opacity{opacity:.5}.gg-opacity:hover{opacity:1;background-color:#0000}.gg-tabs{cursor:pointer;border-bottom:1px solid gray;justify-content:left;align-items:end;gap:1rem;height:2rem;margin:.5rem auto 1rem;display:flex}.gg-tab{cursor:pointer;color:var(--text-color);background:0 0;border:none;padding:.5rem}.gg-tab.active{border-bottom:solid 2px var(--text-color-grad2);font-weight:600}.girafe-button-big,.girafe-button-large,.girafe-button-small,.girafe-button-tiny{color:var(--text-color);background-color:#0000;border:none;flex-direction:column;display:flex}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color-grad1);cursor:pointer}.girafe-button-big.dark,.girafe-button-large.dark,.girafe-button-small.dark,.girafe-button-tiny.dark{background-color:var(--bkg-color);filter:invert()}.girafe-button-big{width:var(--app-standard-height);height:var(--app-standard-height);align-items:center;padding:1rem}.girafe-button-big img{overflow:hidden}.girafe-button-large{flex-direction:row}.girafe-button-large img{height:2rem;margin:.3rem}.girafe-button-large span{height:2rem;margin:.3rem;line-height:2rem}.girafe-button-small{min-width:calc(var(--app-standard-height)/2);height:calc(var(--app-standard-height)/2);align-items:center;padding:.5rem}.girafe-button-small img{overflow:hidden}.girafe-button-small span{text-align:left;text-overflow:ellipsis;width:100%;overflow:hidden}.girafe-button-tiny{align-items:center;width:1rem;height:1rem;padding:0}.girafe-button-tiny img{overflow:hidden}
|
|
10
10
|
</style><style>
|
|
11
|
-
.basemap-button{background-color:var(--bkg-color);color:var(--text-color);border:var(--app-standard-border);box-sizing:border-box;cursor:pointer;box-shadow:var(--bx-shdw);border-width:2px;border-radius:4px;outline:0;margin:0;padding:5px;display:inline-flex}#container{flex-direction:column;width:max-content;display:inline-flex}.basemap-icon{background:var(--svg-legend-bkg);filter:var(--svg-map-filter)}.active-basemap{background-color:var(--bkg-color-grad2)!important}.opacity-slider{flex-direction:row;height:20px;padding:0 5px;display:flex
|
|
11
|
+
.basemap-button{background-color:var(--bkg-color);color:var(--text-color);border:var(--app-standard-border);box-sizing:border-box;cursor:pointer;box-shadow:var(--bx-shdw);border-width:2px;border-radius:4px;outline:0;margin:0;padding:5px;display:inline-flex}#container{flex-direction:column;width:max-content;display:inline-flex}.basemap-icon{background:var(--svg-legend-bkg);filter:var(--svg-map-filter)}.active-basemap{background-color:var(--bkg-color-grad2)!important}.opacity-slider{flex-direction:row;height:20px;padding:0 5px;display:flex}.opacity-slider img{height:16px;position:relative;top:2px}.opacity-slider input[type=range]{flex-grow:1}.basemap-container{flex-direction:column;display:flex}.basemap-container button{color:var(--text-color);background-color:#0000;border:none;flex-direction:row;flex-grow:1;display:flex}.basemap-container button img{height:2rem;margin:.3rem}.basemap-container button span{height:2rem;margin:.3rem;line-height:2rem}.basemap-container:hover{background-color:var(--bkg-color-grad1)}.basemaps-with-opacity-separator{border-top:1px solid var(--bkg-color-grad2);height:1px;margin:6px 8px}
|
|
12
12
|
</style>
|
|
13
13
|
<girafe-menu-button direction="up-right" id="basemap-menu-button"><button slot="menu-button" class="basemap-button" tip="Select basemap"><img class="basemap-icon" alt="menu-icon" src="images/button_basemaps.webp"></button><div slot="menu-content" id="container">${Object.values(this.state.basemaps).filter(basemap => basemap.opacity == -1).map(basemap => uHtmlFor(basemap, basemap.id) `<div class="${this.determineClassnames(basemap)}"><button onclick="${() => this.changeBasemap(basemap)}"><img class="basemap-icon" alt="basemap-icon" src="${basemap.thumbnail}"> <span i18n="${basemap.name}">${basemap.name}</span></button></div>`)}<div class="basemaps-with-opacity-separator"></div>${Object.values(this.state.basemaps).filter(basemap => basemap.opacity != -1).map(basemap => uHtmlFor(basemap, basemap.id) `<div class="${this.determineClassnames(basemap)}"><button onclick="${() => this.changeBasemap(basemap)}"><img class="basemap-icon" alt="basemap-icon" src="${basemap.thumbnail}"> <span i18n="${basemap.name}">${basemap.name}</span></button><div class="opacity-slider"><img alt="Control opacity" src="icons/opacity.svg"> <input type="range" min="0" max="1" step="0.01" class="slider" value="${basemap.opacity}" onkeydown="${(e) => { e.preventDefault(); e.stopPropagation(); }}" onclick="${(e) => { e.preventDefault(); e.stopPropagation(); }}" onchange="${(e) => this.changeBasemapOpacity(basemap, e)}"></div></div>`)}</div></girafe-menu-button>`;
|
|
14
14
|
};
|
|
@@ -5,7 +5,7 @@ export default class DrawingContainerMobile extends GirafeHTMLElement {
|
|
|
5
5
|
return uHtml `<style>
|
|
6
6
|
*{font-family:Arial,sans-serif}.hidden{display:none!important}.gg-rotate90{transform:rotate(90deg)}.gg-rotate180{transform:rotate(180deg)}.gg-rotate270{transform:rotate(270deg)}img{filter:var(--svg-filter)}img.legend-image{filter:var(--svg-map-filter);background:var(--svg-legend-bkg)}div{scrollbar-width:thin}a,a:visited{color:var(--link-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-wait{0%{transform:rotate(0)}7%{transform:rotate(360deg)}to{transform:rotate(360deg)}}.gg-spin{animation-name:spin;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite}.gg-spin-wait{animation-name:spin-wait;animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#999}.gg-button,.gg-select,.gg-input,.gg-textarea{background-color:var(--bkg-color);color:var(--text-color);border:var(--app-standard-border);box-sizing:border-box;cursor:pointer;border-radius:3px;outline:0;margin:0;padding:0 0 0 .5rem;display:inline-block}.gg-label{background-color:var(--bkg-color);color:var(--text-color);border:none;align-items:center;margin:0;padding:0;display:flex}.gg-button,.gg-select,.gg-input,.gg-label{min-height:calc(var(--app-standard-height)/1.5)}.gg-textarea{max-height:initial;resize:vertical;height:6rem;padding:.5rem;line-height:1.3rem}.gg-input{cursor:text}.gg-checkbox{accent-color:var(--text-color);width:1.2rem}.gg-range{accent-color:var(--text-color)}.gg-button{padding:0 .5rem}.gg-button.active{border:solid 1px var(--text-color-grad2);background-color:var(--text-color-grad2);color:var(--bkg-color)}.gg-button:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3;border:none}.gg-input:disabled,.gg-select:disabled,.gg-textarea:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3}.gg-button>img{vertical-align:middle}.gg-icon-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-big,.gg-big-withtext{min-width:var(--app-standard-height);min-height:var(--app-standard-height);max-height:var(--app-standard-height)}.gg-big img,.gg-big-withtext img{width:calc(var(--app-standard-height) - 1.5rem);margin:0}.gg-big-withtext span{font-variant:small-caps;padding:0 1rem;font-size:.9rem}.gg-medium,.gg-medium-withtext{min-width:calc(var(--app-standard-height)/1.2);min-height:calc(var(--app-standard-height)/1.2);max-height:calc(var(--app-standard-height)/1.2);flex-direction:row}.gg-medium img{width:calc(var(--app-standard-height)/2.4);margin:0}.gg-medium-withtext img{width:calc(var(--app-standard-height)/2.4);margin-left:.5rem}.gg-medium-withtext span{padding:0 1rem 0 .5rem;font-size:.9rem}.gg-small,.gg-small-withtext{min-width:calc(var(--app-standard-height)/2);min-height:calc(var(--app-standard-height)/2);max-height:calc(var(--app-standard-height)/2);flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/3);margin:0}.gg-small-withtext img{width:calc(var(--app-standard-height)/3);margin-left:.5rem}.gg-small-withtext span{padding:0 .5rem 0 .3rem;font-size:.9rem}.gg-button:hover,.gg-select:hover,.gg-input:hover,.gg-textarea:hover,.gg-icon-button:hover{background-color:var(--bkg-color-grad1)}.gg-opacity{opacity:.5}.gg-opacity:hover{opacity:1;background-color:#0000}.gg-tabs{cursor:pointer;border-bottom:1px solid gray;justify-content:left;align-items:end;gap:1rem;height:2rem;margin:.5rem auto 1rem;display:flex}.gg-tab{cursor:pointer;color:var(--text-color);background:0 0;border:none;padding:.5rem}.gg-tab.active{border-bottom:solid 2px var(--text-color-grad2);font-weight:600}.girafe-button-big,.girafe-button-large,.girafe-button-small,.girafe-button-tiny{color:var(--text-color);background-color:#0000;border:none;flex-direction:column;display:flex}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color-grad1);cursor:pointer}.girafe-button-big.dark,.girafe-button-large.dark,.girafe-button-small.dark,.girafe-button-tiny.dark{background-color:var(--bkg-color);filter:invert()}.girafe-button-big{width:var(--app-standard-height);height:var(--app-standard-height);align-items:center;padding:1rem}.girafe-button-big img{overflow:hidden}.girafe-button-large{flex-direction:row}.girafe-button-large img{height:2rem;margin:.3rem}.girafe-button-large span{height:2rem;margin:.3rem;line-height:2rem}.girafe-button-small{min-width:calc(var(--app-standard-height)/2);height:calc(var(--app-standard-height)/2);align-items:center;padding:.5rem}.girafe-button-small img{overflow:hidden}.girafe-button-small span{text-align:left;text-overflow:ellipsis;width:100%;overflow:hidden}.girafe-button-tiny{align-items:center;width:1rem;height:1rem;padding:0}.girafe-button-tiny img{overflow:hidden}
|
|
7
7
|
</style><style>
|
|
8
|
-
.hidden{display:none}.girafe-button-big{filter:drop-shadow(0 0 8px #0000004d);background-color:var(--bkg-color);width:3.5rem;height:3.5rem;color:var(--text-color);border:none;border-radius:4rem;flex-direction:column;align-items:center;padding:.5rem;display:flex}.girafe-button-big img{width:95%;height:auto;padding:5%;overflow:hidden}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color)}
|
|
8
|
+
.hidden{display:none}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.gg-icon-button,.gg-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-button{text-align:left}.gg-small{flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/2.5);margin:0}.gg-small span{margin-left:.5rem;font-size:1rem}.girafe-button-big{filter:drop-shadow(0 0 8px #0000004d);background-color:var(--bkg-color);width:3.5rem;height:3.5rem;color:var(--text-color);border:none;border-radius:4rem;flex-direction:column;align-items:center;padding:.5rem;display:flex}.girafe-button-big img{width:95%;height:auto;padding:5%;overflow:hidden}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color)}
|
|
9
9
|
</style><style>
|
|
10
10
|
.drawing-title{color:#3f68a7;text-transform:uppercase;text-align:center;margin:.5em 0;font-size:1.8em;font-weight:600}
|
|
11
11
|
</style>
|
package/components/main.d.ts
CHANGED
|
@@ -3,9 +3,6 @@ export { default as AlignNorthButtonMobile } from './alignnorthbutton-mobile/com
|
|
|
3
3
|
export { default as OauthComponent } from './auth/component';
|
|
4
4
|
export { default as MobileOauthComponent } from './auth-mobile/component';
|
|
5
5
|
export { default as BasemapComponent } from './basemap/component';
|
|
6
|
-
export { default as BasemapListMobile } from './basemaplist-mobile/basemaplist/component';
|
|
7
|
-
export { default as BasemapListItemMobile } from './basemaplist-mobile/basemaplistitem/component';
|
|
8
|
-
export { default as BasemapThemeLayerSelectorMobile } from './basemapthemelayerselector-mobile/component';
|
|
9
6
|
export { default as ContactComponent } from './contact/component';
|
|
10
7
|
export { default as MapCustomContextMenuComponent } from './context-menu/custom-context-menu/component';
|
|
11
8
|
export { default as MapDefaultContextMenuComponent } from './context-menu/default-context-menu/component';
|
|
@@ -23,8 +20,6 @@ export { default as GeolocationMobile } from './geolocation-mobile/component';
|
|
|
23
20
|
export { default as HelpComponent } from './help/component';
|
|
24
21
|
export { default as InfoboxComponent } from './infobox/component';
|
|
25
22
|
export { default as InfoWindowComponent } from './infowindow/component';
|
|
26
|
-
export { default as LayerListMobile } from './layerlist-mobile/layerlist/component';
|
|
27
|
-
export { default as LayerListItemMobile } from './layerlist-mobile/layerlistitem/component';
|
|
28
23
|
export { default as LayoutComponent } from './layout/component';
|
|
29
24
|
export { default as LRPanelComponent } from './lr-panel/component';
|
|
30
25
|
export { default as MapComponent } from './map/component';
|
|
@@ -44,9 +39,12 @@ export { default as SelectionPanelMobile } from './selectionpanel-mobile/compone
|
|
|
44
39
|
export { default as SelectionWindowComponent } from './selectionwindow/component';
|
|
45
40
|
export { default as ShareComponent } from './share/component';
|
|
46
41
|
export { default as SwipeUpPanelMobile } from './swipe-up-panel-mobile/component';
|
|
47
|
-
export { default as ThemeListMobile } from './themelist-mobile/themelist/component';
|
|
48
|
-
export { default as ThemeListItemMobile } from './themelist-mobile/themelistitem/component';
|
|
49
42
|
export { default as ThemeComponent } from './themes/component';
|
|
43
|
+
export { default as MobileGroupElementComponent } from './themes-mobile/group/component';
|
|
44
|
+
export { default as MobileLayerElementComponent } from './themes-mobile/layer/component';
|
|
45
|
+
export { default as MobileSelectedLayerElementComponent } from './themes-mobile/layer-selected/component';
|
|
46
|
+
export { default as MobileThemeElementComponent } from './themes-mobile/theme/component';
|
|
47
|
+
export { default as MobileThemeComponent } from './themes-mobile/themes-select/component';
|
|
50
48
|
export { default as TimeRestrictionComponent } from './timerestriction/component';
|
|
51
49
|
export { default as TimePickerComponent } from './timerestriction/timepicker/component';
|
|
52
50
|
export { default as TimeSliderComponent } from './timerestriction/timeslider/component';
|
package/components/main.js
CHANGED
|
@@ -3,9 +3,6 @@ export { default as AlignNorthButtonMobile } from './alignnorthbutton-mobile/com
|
|
|
3
3
|
export { default as OauthComponent } from './auth/component';
|
|
4
4
|
export { default as MobileOauthComponent } from './auth-mobile/component';
|
|
5
5
|
export { default as BasemapComponent } from './basemap/component';
|
|
6
|
-
export { default as BasemapListMobile } from './basemaplist-mobile/basemaplist/component';
|
|
7
|
-
export { default as BasemapListItemMobile } from './basemaplist-mobile/basemaplistitem/component';
|
|
8
|
-
export { default as BasemapThemeLayerSelectorMobile } from './basemapthemelayerselector-mobile/component';
|
|
9
6
|
export { default as ContactComponent } from './contact/component';
|
|
10
7
|
export { default as MapCustomContextMenuComponent } from './context-menu/custom-context-menu/component';
|
|
11
8
|
export { default as MapDefaultContextMenuComponent } from './context-menu/default-context-menu/component';
|
|
@@ -23,8 +20,6 @@ export { default as GeolocationMobile } from './geolocation-mobile/component';
|
|
|
23
20
|
export { default as HelpComponent } from './help/component';
|
|
24
21
|
export { default as InfoboxComponent } from './infobox/component';
|
|
25
22
|
export { default as InfoWindowComponent } from './infowindow/component';
|
|
26
|
-
export { default as LayerListMobile } from './layerlist-mobile/layerlist/component';
|
|
27
|
-
export { default as LayerListItemMobile } from './layerlist-mobile/layerlistitem/component';
|
|
28
23
|
export { default as LayoutComponent } from './layout/component';
|
|
29
24
|
export { default as LRPanelComponent } from './lr-panel/component';
|
|
30
25
|
export { default as MapComponent } from './map/component';
|
|
@@ -44,9 +39,12 @@ export { default as SelectionPanelMobile } from './selectionpanel-mobile/compone
|
|
|
44
39
|
export { default as SelectionWindowComponent } from './selectionwindow/component';
|
|
45
40
|
export { default as ShareComponent } from './share/component';
|
|
46
41
|
export { default as SwipeUpPanelMobile } from './swipe-up-panel-mobile/component';
|
|
47
|
-
export { default as ThemeListMobile } from './themelist-mobile/themelist/component';
|
|
48
|
-
export { default as ThemeListItemMobile } from './themelist-mobile/themelistitem/component';
|
|
49
42
|
export { default as ThemeComponent } from './themes/component';
|
|
43
|
+
export { default as MobileGroupElementComponent } from './themes-mobile/group/component';
|
|
44
|
+
export { default as MobileLayerElementComponent } from './themes-mobile/layer/component';
|
|
45
|
+
export { default as MobileSelectedLayerElementComponent } from './themes-mobile/layer-selected/component';
|
|
46
|
+
export { default as MobileThemeElementComponent } from './themes-mobile/theme/component';
|
|
47
|
+
export { default as MobileThemeComponent } from './themes-mobile/themes-select/component';
|
|
50
48
|
export { default as TimeRestrictionComponent } from './timerestriction/component';
|
|
51
49
|
export { default as TimePickerComponent } from './timerestriction/timepicker/component';
|
|
52
50
|
export { default as TimeSliderComponent } from './timerestriction/timeslider/component';
|
|
@@ -5,7 +5,7 @@ export default class MenuMobile extends GirafeHTMLElement {
|
|
|
5
5
|
return uHtml `<style>
|
|
6
6
|
*{font-family:Arial,sans-serif}.hidden{display:none!important}.gg-rotate90{transform:rotate(90deg)}.gg-rotate180{transform:rotate(180deg)}.gg-rotate270{transform:rotate(270deg)}img{filter:var(--svg-filter)}img.legend-image{filter:var(--svg-map-filter);background:var(--svg-legend-bkg)}div{scrollbar-width:thin}a,a:visited{color:var(--link-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-wait{0%{transform:rotate(0)}7%{transform:rotate(360deg)}to{transform:rotate(360deg)}}.gg-spin{animation-name:spin;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite}.gg-spin-wait{animation-name:spin-wait;animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#999}.gg-button,.gg-select,.gg-input,.gg-textarea{background-color:var(--bkg-color);color:var(--text-color);border:var(--app-standard-border);box-sizing:border-box;cursor:pointer;border-radius:3px;outline:0;margin:0;padding:0 0 0 .5rem;display:inline-block}.gg-label{background-color:var(--bkg-color);color:var(--text-color);border:none;align-items:center;margin:0;padding:0;display:flex}.gg-button,.gg-select,.gg-input,.gg-label{min-height:calc(var(--app-standard-height)/1.5)}.gg-textarea{max-height:initial;resize:vertical;height:6rem;padding:.5rem;line-height:1.3rem}.gg-input{cursor:text}.gg-checkbox{accent-color:var(--text-color);width:1.2rem}.gg-range{accent-color:var(--text-color)}.gg-button{padding:0 .5rem}.gg-button.active{border:solid 1px var(--text-color-grad2);background-color:var(--text-color-grad2);color:var(--bkg-color)}.gg-button:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3;border:none}.gg-input:disabled,.gg-select:disabled,.gg-textarea:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3}.gg-button>img{vertical-align:middle}.gg-icon-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-big,.gg-big-withtext{min-width:var(--app-standard-height);min-height:var(--app-standard-height);max-height:var(--app-standard-height)}.gg-big img,.gg-big-withtext img{width:calc(var(--app-standard-height) - 1.5rem);margin:0}.gg-big-withtext span{font-variant:small-caps;padding:0 1rem;font-size:.9rem}.gg-medium,.gg-medium-withtext{min-width:calc(var(--app-standard-height)/1.2);min-height:calc(var(--app-standard-height)/1.2);max-height:calc(var(--app-standard-height)/1.2);flex-direction:row}.gg-medium img{width:calc(var(--app-standard-height)/2.4);margin:0}.gg-medium-withtext img{width:calc(var(--app-standard-height)/2.4);margin-left:.5rem}.gg-medium-withtext span{padding:0 1rem 0 .5rem;font-size:.9rem}.gg-small,.gg-small-withtext{min-width:calc(var(--app-standard-height)/2);min-height:calc(var(--app-standard-height)/2);max-height:calc(var(--app-standard-height)/2);flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/3);margin:0}.gg-small-withtext img{width:calc(var(--app-standard-height)/3);margin-left:.5rem}.gg-small-withtext span{padding:0 .5rem 0 .3rem;font-size:.9rem}.gg-button:hover,.gg-select:hover,.gg-input:hover,.gg-textarea:hover,.gg-icon-button:hover{background-color:var(--bkg-color-grad1)}.gg-opacity{opacity:.5}.gg-opacity:hover{opacity:1;background-color:#0000}.gg-tabs{cursor:pointer;border-bottom:1px solid gray;justify-content:left;align-items:end;gap:1rem;height:2rem;margin:.5rem auto 1rem;display:flex}.gg-tab{cursor:pointer;color:var(--text-color);background:0 0;border:none;padding:.5rem}.gg-tab.active{border-bottom:solid 2px var(--text-color-grad2);font-weight:600}.girafe-button-big,.girafe-button-large,.girafe-button-small,.girafe-button-tiny{color:var(--text-color);background-color:#0000;border:none;flex-direction:column;display:flex}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color-grad1);cursor:pointer}.girafe-button-big.dark,.girafe-button-large.dark,.girafe-button-small.dark,.girafe-button-tiny.dark{background-color:var(--bkg-color);filter:invert()}.girafe-button-big{width:var(--app-standard-height);height:var(--app-standard-height);align-items:center;padding:1rem}.girafe-button-big img{overflow:hidden}.girafe-button-large{flex-direction:row}.girafe-button-large img{height:2rem;margin:.3rem}.girafe-button-large span{height:2rem;margin:.3rem;line-height:2rem}.girafe-button-small{min-width:calc(var(--app-standard-height)/2);height:calc(var(--app-standard-height)/2);align-items:center;padding:.5rem}.girafe-button-small img{overflow:hidden}.girafe-button-small span{text-align:left;text-overflow:ellipsis;width:100%;overflow:hidden}.girafe-button-tiny{align-items:center;width:1rem;height:1rem;padding:0}.girafe-button-tiny img{overflow:hidden}
|
|
7
7
|
</style><style>
|
|
8
|
-
.hidden{display:none}.girafe-button-big{filter:drop-shadow(0 0 8px #0000004d);background-color:var(--bkg-color);width:3.5rem;height:3.5rem;color:var(--text-color);border:none;border-radius:4rem;flex-direction:column;align-items:center;padding:.5rem;display:flex}.girafe-button-big img{width:95%;height:auto;padding:5%;overflow:hidden}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color)}
|
|
8
|
+
.hidden{display:none}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.gg-icon-button,.gg-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-button{text-align:left}.gg-small{flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/2.5);margin:0}.gg-small span{margin-left:.5rem;font-size:1rem}.girafe-button-big{filter:drop-shadow(0 0 8px #0000004d);background-color:var(--bkg-color);width:3.5rem;height:3.5rem;color:var(--text-color);border:none;border-radius:4rem;flex-direction:column;align-items:center;padding:.5rem;display:flex}.girafe-button-big img{width:95%;height:auto;padding:5%;overflow:hidden}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color)}
|
|
9
9
|
</style><style>
|
|
10
10
|
.menu-title{color:#3f68a7;text-transform:uppercase;text-align:center;margin:.5em 0;font-size:1.8em;font-weight:600}.menu-item-container{box-sizing:border-box;user-select:none;margin-bottom:max(env(safe-area-inset-bottom),20px);grid-template-columns:repeat(2,1fr);gap:20px;padding:0 25px;display:grid}.menu-item{filter:drop-shadow(0 4px 7px #0004382c);background-color:#fff;border-radius:8px;flex-direction:column;padding:1em;display:flex}.menu-item:active{background-color:#c6ceda}.menu-item-image-container{flex:1;justify-content:center;align-items:center;padding-bottom:1em;display:flex}.menu-item-image-container>img{opacity:.7;width:25%}.menu-item-title-container{color:#3f68a7;flex:1;justify-content:center;align-items:center;font-size:1.2em;font-weight:600;display:flex}
|
|
11
11
|
</style>
|
|
@@ -62,10 +62,12 @@ describe('MFPEncoder', () => {
|
|
|
62
62
|
const baseMap = createTestLayerWmts();
|
|
63
63
|
baseMap._olayer = createOlWmtsLayer();
|
|
64
64
|
baseMap.name = 'basemap-below';
|
|
65
|
-
const activeBasemaps = (context.stateManager.state.activeBasemaps = [
|
|
65
|
+
const activeBasemaps = (context.stateManager.state.activeBasemaps = [
|
|
66
|
+
new Basemap({
|
|
66
67
|
id: 1,
|
|
67
68
|
name: 'test'
|
|
68
|
-
})
|
|
69
|
+
})
|
|
70
|
+
]);
|
|
69
71
|
activeBasemaps[0].layersList = [baseMap];
|
|
70
72
|
const vectorLayer = createOlVectorLayer();
|
|
71
73
|
vectorLayer.set('addToPrintedLayers', true);
|
|
@@ -3,7 +3,7 @@ import SearchComponent from '../search/component';
|
|
|
3
3
|
class MobileSearchComponent extends SearchComponent {
|
|
4
4
|
template = () => {
|
|
5
5
|
return uHtml `<style>
|
|
6
|
-
|
|
6
|
+
.hidden{display:none}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.gg-icon-button,.gg-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-button{text-align:left}.gg-small{flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/2.5);margin:0}.gg-small span{margin-left:.5rem;font-size:1rem}.girafe-button-big{filter:drop-shadow(0 0 8px #0000004d);background-color:var(--bkg-color);width:3.5rem;height:3.5rem;color:var(--text-color);border:none;border-radius:4rem;flex-direction:column;align-items:center;padding:.5rem;display:flex}.girafe-button-big img{width:95%;height:auto;padding:5%;overflow:hidden}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color)}
|
|
7
7
|
</style><style>
|
|
8
8
|
.hidden{display:none}#searchbox{background-color:var(--bkg-color);z-index:101;border:none;border-radius:4px;flex-direction:row;width:100%;display:flex;position:absolute;box-shadow:0 0 10px 1px #0003}#search{z-index:2;-webkit-appearance:none;width:100%;color:var(--text-color);background:0 0;border:0;outline:none;-webkit-flex:auto;-ms-flex:auto;flex:auto;margin:0 0 0 .5rem;padding-left:.8rem;font-size:1.8em;line-height:1.8em}#search::placeholder{color:inherit;opacity:.4}#search:focus::placeholder{opacity:0;color:#0000;transition:opacity .3s}.search-icon,.close-icon,.select-color-icon{width:17px;color:var(--text-color);opacity:.7;padding:0 1rem}.close-button,.select-color-button{cursor:pointer;background-color:#0000;border:none;padding:0}#results{z-index:100;background-color:var(--bkg-color);scrollbar-width:thin;padding-top:7vh;position:fixed;inset:0;overflow-x:hidden}.result,.title{width:34rem;padding:.3rem 1rem;line-height:1.3rem;display:inline-block}.title{color:var(--text-color);padding-top:1.5rem;font-size:1.3rem;font-weight:600;line-height:2.5rem}.result{cursor:pointer;text-align:left;width:100%;color:var(--text-color);background:0 0;border:none;border-top:1px solid #ccc}.title img{width:14px;margin-right:1rem}.title span{text-transform:uppercase}.result.selected{color:var(--text-color);background-color:#aaa!important}#no-result{background:var(--warning-color);opacity:.75;visibility:hidden;pointer-events:none;border-radius:6px;width:fit-content;margin:auto;padding:.5rem 0;font-size:1rem;position:absolute;top:3rem;left:0;right:0}#no-result>span{padding:1.3rem}@keyframes fadeOut{0%{opacity:1}80%{opacity:1}to{opacity:0}}.shown-then-fadeout{animation:2s ease-in-out forwards fadeOut;visibility:visible!important}
|
|
9
9
|
</style>
|
|
@@ -13,9 +13,9 @@ export default class SwipeUpPanelMobile extends GirafeHTMLElement {
|
|
|
13
13
|
return uHtml `<style>
|
|
14
14
|
*{font-family:Arial,sans-serif}.hidden{display:none!important}.gg-rotate90{transform:rotate(90deg)}.gg-rotate180{transform:rotate(180deg)}.gg-rotate270{transform:rotate(270deg)}img{filter:var(--svg-filter)}img.legend-image{filter:var(--svg-map-filter);background:var(--svg-legend-bkg)}div{scrollbar-width:thin}a,a:visited{color:var(--link-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-wait{0%{transform:rotate(0)}7%{transform:rotate(360deg)}to{transform:rotate(360deg)}}.gg-spin{animation-name:spin;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite}.gg-spin-wait{animation-name:spin-wait;animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#999}.gg-button,.gg-select,.gg-input,.gg-textarea{background-color:var(--bkg-color);color:var(--text-color);border:var(--app-standard-border);box-sizing:border-box;cursor:pointer;border-radius:3px;outline:0;margin:0;padding:0 0 0 .5rem;display:inline-block}.gg-label{background-color:var(--bkg-color);color:var(--text-color);border:none;align-items:center;margin:0;padding:0;display:flex}.gg-button,.gg-select,.gg-input,.gg-label{min-height:calc(var(--app-standard-height)/1.5)}.gg-textarea{max-height:initial;resize:vertical;height:6rem;padding:.5rem;line-height:1.3rem}.gg-input{cursor:text}.gg-checkbox{accent-color:var(--text-color);width:1.2rem}.gg-range{accent-color:var(--text-color)}.gg-button{padding:0 .5rem}.gg-button.active{border:solid 1px var(--text-color-grad2);background-color:var(--text-color-grad2);color:var(--bkg-color)}.gg-button:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3;border:none}.gg-input:disabled,.gg-select:disabled,.gg-textarea:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3}.gg-button>img{vertical-align:middle}.gg-icon-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-big,.gg-big-withtext{min-width:var(--app-standard-height);min-height:var(--app-standard-height);max-height:var(--app-standard-height)}.gg-big img,.gg-big-withtext img{width:calc(var(--app-standard-height) - 1.5rem);margin:0}.gg-big-withtext span{font-variant:small-caps;padding:0 1rem;font-size:.9rem}.gg-medium,.gg-medium-withtext{min-width:calc(var(--app-standard-height)/1.2);min-height:calc(var(--app-standard-height)/1.2);max-height:calc(var(--app-standard-height)/1.2);flex-direction:row}.gg-medium img{width:calc(var(--app-standard-height)/2.4);margin:0}.gg-medium-withtext img{width:calc(var(--app-standard-height)/2.4);margin-left:.5rem}.gg-medium-withtext span{padding:0 1rem 0 .5rem;font-size:.9rem}.gg-small,.gg-small-withtext{min-width:calc(var(--app-standard-height)/2);min-height:calc(var(--app-standard-height)/2);max-height:calc(var(--app-standard-height)/2);flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/3);margin:0}.gg-small-withtext img{width:calc(var(--app-standard-height)/3);margin-left:.5rem}.gg-small-withtext span{padding:0 .5rem 0 .3rem;font-size:.9rem}.gg-button:hover,.gg-select:hover,.gg-input:hover,.gg-textarea:hover,.gg-icon-button:hover{background-color:var(--bkg-color-grad1)}.gg-opacity{opacity:.5}.gg-opacity:hover{opacity:1;background-color:#0000}.gg-tabs{cursor:pointer;border-bottom:1px solid gray;justify-content:left;align-items:end;gap:1rem;height:2rem;margin:.5rem auto 1rem;display:flex}.gg-tab{cursor:pointer;color:var(--text-color);background:0 0;border:none;padding:.5rem}.gg-tab.active{border-bottom:solid 2px var(--text-color-grad2);font-weight:600}.girafe-button-big,.girafe-button-large,.girafe-button-small,.girafe-button-tiny{color:var(--text-color);background-color:#0000;border:none;flex-direction:column;display:flex}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color-grad1);cursor:pointer}.girafe-button-big.dark,.girafe-button-large.dark,.girafe-button-small.dark,.girafe-button-tiny.dark{background-color:var(--bkg-color);filter:invert()}.girafe-button-big{width:var(--app-standard-height);height:var(--app-standard-height);align-items:center;padding:1rem}.girafe-button-big img{overflow:hidden}.girafe-button-large{flex-direction:row}.girafe-button-large img{height:2rem;margin:.3rem}.girafe-button-large span{height:2rem;margin:.3rem;line-height:2rem}.girafe-button-small{min-width:calc(var(--app-standard-height)/2);height:calc(var(--app-standard-height)/2);align-items:center;padding:.5rem}.girafe-button-small img{overflow:hidden}.girafe-button-small span{text-align:left;text-overflow:ellipsis;width:100%;overflow:hidden}.girafe-button-tiny{align-items:center;width:1rem;height:1rem;padding:0}.girafe-button-tiny img{overflow:hidden}
|
|
15
15
|
</style><style>
|
|
16
|
-
#swipe-up-panel{z-index:20;backdrop-filter:blur(5px);border-top-left-radius:
|
|
16
|
+
#swipe-up-panel{z-index:20;backdrop-filter:blur(5px);background:var(--bkg-color);border-top-left-radius:1rem;border-top-right-radius:1rem;height:100dvh;position:absolute;overflow:hidden}@media (orientation:portrait){#swipe-up-panel{width:100vw}}@media (orientation:landscape){#swipe-up-panel{width:max(min(calc(50vw - env(safe-area-inset-left) - 1.5rem),550px),440px);left:calc(env(safe-area-inset-left) + 1rem)}}.top-container{z-index:2;background:inherit;backdrop-filter:blur(5px);width:100%;height:35px;position:relative}.middle-container{width:calc(100% - 2rem);margin-top:-35px;padding-top:35px;padding-left:1rem;padding-right:1rem;overflow:scroll}.handle-container{touch-action:none;width:100%;height:100%;position:relative}.handle{background-color:#7779;border-radius:10px;width:3rem;height:4px;margin:auto;position:absolute;inset:0}.close-button{opacity:.6;position:absolute;top:.3rem;right:1rem}.easeTransition{transition:all .3s}.upsideDown{transform:rotate(180deg)}.hidden{visibility:none}.dark-mode{background-color:#000b}.dark-mode .close-button{filter:invert();opacity:.4}.light-mode{background-color:#fffb}
|
|
17
17
|
</style>
|
|
18
|
-
<div id="swipe-up-panel" class="hidden"><div class="top-container"><div class="handle-container" onpointerdown="${(e) => this.swipeHandleOnPointerDown(e)}" onpointerup="${() => this.swipeHandleOnPointerUp()}" onpointermove="${(e) => this.swipeHandleOnPointerMove(e)}"><div class="handle"></div></div><img class="close-button" alt="close swipe up panel" src="icons/
|
|
18
|
+
<div id="swipe-up-panel" class="hidden"><div class="top-container"><div class="handle-container" onpointerdown="${(e) => this.swipeHandleOnPointerDown(e)}" onpointerup="${() => this.swipeHandleOnPointerUp()}" onpointermove="${(e) => this.swipeHandleOnPointerMove(e)}"><div class="handle"></div></div><img class="close-button" alt="close swipe up panel" src="icons/close.svg" onpointerdown="${() => this.closeButtonOnPointerDown()}"></div><div class="middle-container"><slot name="main"></slot></div></div>`;
|
|
19
19
|
};
|
|
20
20
|
container;
|
|
21
21
|
middleContainer;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import GirafeHTMLElement from '../../../base/GirafeHTMLElement';
|
|
2
|
+
import BaseLayer from '../../../models/layers/baselayer';
|
|
3
|
+
import GroupLayer from '../../../models/layers/grouplayer';
|
|
4
|
+
declare class MobileGroupElementComponent extends GirafeHTMLElement {
|
|
5
|
+
template: () => import("uhtml").Hole;
|
|
6
|
+
group?: GroupLayer;
|
|
7
|
+
/**
|
|
8
|
+
* Contains all childs recursively flattend for a better view in mobile
|
|
9
|
+
*/
|
|
10
|
+
childLayers: BaseLayer[];
|
|
11
|
+
static readonly observedAttributes: string[];
|
|
12
|
+
constructor();
|
|
13
|
+
render(): void;
|
|
14
|
+
private refreshGroup;
|
|
15
|
+
connectedCallback(): void;
|
|
16
|
+
attributeChangedCallback(name: string): void;
|
|
17
|
+
}
|
|
18
|
+
export default MobileGroupElementComponent;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { htmlFor as uHtmlFor } from 'uhtml/keyed';
|
|
2
|
+
import { html as uHtml } from 'uhtml';
|
|
3
|
+
import GirafeHTMLElement from '../../../base/GirafeHTMLElement';
|
|
4
|
+
import GroupLayer from '../../../models/layers/grouplayer';
|
|
5
|
+
import ThemeLayer from '../../../models/layers/themelayer';
|
|
6
|
+
class MobileGroupElementComponent extends GirafeHTMLElement {
|
|
7
|
+
template = () => {
|
|
8
|
+
return uHtml `<style>
|
|
9
|
+
.hidden{display:none}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.gg-icon-button,.gg-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-button{text-align:left}.gg-small{flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/2.5);margin:0}.gg-small span{margin-left:.5rem;font-size:1rem}.girafe-button-big{filter:drop-shadow(0 0 8px #0000004d);background-color:var(--bkg-color);width:3.5rem;height:3.5rem;color:var(--text-color);border:none;border-radius:4rem;flex-direction:column;align-items:center;padding:.5rem;display:flex}.girafe-button-big img{width:95%;height:auto;padding:5%;overflow:hidden}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color)}
|
|
10
|
+
</style><style>
|
|
11
|
+
h3{text-align:center;font-variant:small-caps;background-color:var(--text-color);color:var(--bkg-color);padding:1rem;font-size:1rem}
|
|
12
|
+
</style>
|
|
13
|
+
<h3 i18n="${this.group?.name}">${this.group?.name}</h3><div class="children">${(this.childLayers ?? []).map(layer => uHtmlFor(layer, layer.treeItemId) `<girafe-layer layerid="${layer.treeItemId}"></girafe-layer>`)}</div>`;
|
|
14
|
+
};
|
|
15
|
+
group;
|
|
16
|
+
/**
|
|
17
|
+
* Contains all childs recursively flattend for a better view in mobile
|
|
18
|
+
*/
|
|
19
|
+
childLayers = [];
|
|
20
|
+
static observedAttributes = [];
|
|
21
|
+
constructor() {
|
|
22
|
+
super('group-mobile');
|
|
23
|
+
}
|
|
24
|
+
render() {
|
|
25
|
+
super.render();
|
|
26
|
+
this.refreshGroup();
|
|
27
|
+
}
|
|
28
|
+
refreshGroup() {
|
|
29
|
+
const groupId = this.getAttribute('groupid');
|
|
30
|
+
if (groupId) {
|
|
31
|
+
this.group = this.context.layerManager.getTreeItem(groupId);
|
|
32
|
+
if (this.group) {
|
|
33
|
+
this.childLayers = this.context.layerManager.getFlattenedLayerTree(this.group.children).filter((l) => {
|
|
34
|
+
return !(l instanceof ThemeLayer || l instanceof GroupLayer);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
super.refreshRender();
|
|
39
|
+
}
|
|
40
|
+
connectedCallback() {
|
|
41
|
+
super.connectedCallback();
|
|
42
|
+
MobileGroupElementComponent.observedAttributes.push('groupid');
|
|
43
|
+
this.render();
|
|
44
|
+
}
|
|
45
|
+
attributeChangedCallback(name) {
|
|
46
|
+
if (name === 'groupid') {
|
|
47
|
+
this.refreshGroup();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export default MobileGroupElementComponent;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import GirafeHTMLElement from '../../../base/GirafeHTMLElement';
|
|
2
|
+
import Layer from '../../../models/layers/layer';
|
|
3
|
+
declare class MobileLayerElementComponent extends GirafeHTMLElement {
|
|
4
|
+
template: () => import("uhtml").Hole;
|
|
5
|
+
protected layer?: Layer;
|
|
6
|
+
static readonly observedAttributes: string[];
|
|
7
|
+
constructor(name?: string);
|
|
8
|
+
registerEvents(): void;
|
|
9
|
+
render(): void;
|
|
10
|
+
toggle(): void;
|
|
11
|
+
private refreshGroup;
|
|
12
|
+
connectedCallback(): void;
|
|
13
|
+
attributeChangedCallback(name: string): void;
|
|
14
|
+
}
|
|
15
|
+
export default MobileLayerElementComponent;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { html as uHtml } from 'uhtml';
|
|
2
|
+
import GirafeHTMLElement from '../../../base/GirafeHTMLElement';
|
|
3
|
+
class MobileLayerElementComponent extends GirafeHTMLElement {
|
|
4
|
+
template = () => {
|
|
5
|
+
return uHtml `<style>
|
|
6
|
+
.hidden{display:none}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.gg-icon-button,.gg-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-button{text-align:left}.gg-small{flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/2.5);margin:0}.gg-small span{margin-left:.5rem;font-size:1rem}.girafe-button-big{filter:drop-shadow(0 0 8px #0000004d);background-color:var(--bkg-color);width:3.5rem;height:3.5rem;color:var(--text-color);border:none;border-radius:4rem;flex-direction:column;align-items:center;padding:.5rem;display:flex}.girafe-button-big img{width:95%;height:auto;padding:5%;overflow:hidden}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color)}
|
|
7
|
+
</style><style>
|
|
8
|
+
.container{border-bottom:1px solid #ddd;align-items:center;height:3rem;display:flex}
|
|
9
|
+
</style>
|
|
10
|
+
<div class="container"><button class="${this.layer?.active ? 'gg-icon-button gg-small gg-selected' : 'gg-icon-button gg-small'}" tip="Activate / Deactivate" onclick="${() => this.toggle()}"><img class="${this.layer?.active ? 'gg-checkbox' : 'hidden'}" alt="Expand/Collapse button" src="icons/checked-full.svg"> <img class="${!this.layer?.active ? 'gg-checkbox' : 'hidden'}" alt="Expand/Collapse button" src="icons/checked-no.svg"></button><div class="label-container"><button class="${this.layer?.active ? 'gg-button gg-small gg-selected' : 'gg-button gg-small'}" onclick="${() => this.toggle()}"><span i18n="${this.layer?.name}" class="gg-tree-label">${this.layer?.name}</span></button></div></div>`;
|
|
11
|
+
};
|
|
12
|
+
layer;
|
|
13
|
+
static observedAttributes = [];
|
|
14
|
+
constructor(name) {
|
|
15
|
+
super(name ?? 'layer-mobile');
|
|
16
|
+
}
|
|
17
|
+
registerEvents() {
|
|
18
|
+
this.subscribe(/layers\.layersList\..*\.activeState/, (_oldValue, _newValue, layer) => {
|
|
19
|
+
if (this.layer === layer) {
|
|
20
|
+
super.refreshRender();
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
render() {
|
|
25
|
+
super.render();
|
|
26
|
+
this.refreshGroup();
|
|
27
|
+
}
|
|
28
|
+
toggle() {
|
|
29
|
+
if (this.layer) {
|
|
30
|
+
this.context.layerManager.toggleLayer(this.layer);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
refreshGroup() {
|
|
34
|
+
const layerid = this.getAttribute('layerid');
|
|
35
|
+
if (layerid) {
|
|
36
|
+
this.layer = this.context.layerManager.getTreeItem(layerid);
|
|
37
|
+
}
|
|
38
|
+
super.refreshRender();
|
|
39
|
+
}
|
|
40
|
+
connectedCallback() {
|
|
41
|
+
super.connectedCallback();
|
|
42
|
+
MobileLayerElementComponent.observedAttributes.push('layerid');
|
|
43
|
+
this.registerEvents();
|
|
44
|
+
this.render();
|
|
45
|
+
}
|
|
46
|
+
attributeChangedCallback(name) {
|
|
47
|
+
if (name === 'layerid') {
|
|
48
|
+
this.refreshGroup();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export default MobileLayerElementComponent;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import WmsLegendHelper from '../../../tools/wms/wmslegendhelper';
|
|
2
|
+
import MobileLayerElementComponent from '../layer/component';
|
|
3
|
+
declare class MobileSelectedLayerElementComponent extends MobileLayerElementComponent {
|
|
4
|
+
template: () => import("uhtml").Hole;
|
|
5
|
+
iconUrl: string | null;
|
|
6
|
+
legendUrls: Record<string, string>;
|
|
7
|
+
/**
|
|
8
|
+
* At the moment only 1 legend URL is supported on mobile
|
|
9
|
+
* TODO REG : Manage multiple legend URLs for the same layer
|
|
10
|
+
*/
|
|
11
|
+
get firstLegendUrl(): string | undefined;
|
|
12
|
+
wmsLegendHelper: WmsLegendHelper;
|
|
13
|
+
constructor();
|
|
14
|
+
protected getCrossOrigin(url: string | null): "anonymous" | "use-credentials";
|
|
15
|
+
render(): void;
|
|
16
|
+
connectedCallback(): void;
|
|
17
|
+
}
|
|
18
|
+
export default MobileSelectedLayerElementComponent;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { html as uHtml } from 'uhtml';
|
|
2
|
+
import LayerWms from '../../../models/layers/layerwms';
|
|
3
|
+
import WmsLegendHelper from '../../../tools/wms/wmslegendhelper';
|
|
4
|
+
import MobileLayerElementComponent from '../layer/component';
|
|
5
|
+
class MobileSelectedLayerElementComponent extends MobileLayerElementComponent {
|
|
6
|
+
template = () => {
|
|
7
|
+
return uHtml `<style>
|
|
8
|
+
.hidden{display:none}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.gg-icon-button,.gg-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-button{text-align:left}.gg-small{flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/2.5);margin:0}.gg-small span{margin-left:.5rem;font-size:1rem}.girafe-button-big{filter:drop-shadow(0 0 8px #0000004d);background-color:var(--bkg-color);width:3.5rem;height:3.5rem;color:var(--text-color);border:none;border-radius:4rem;flex-direction:column;align-items:center;padding:.5rem;display:flex}.girafe-button-big img{width:95%;height:auto;padding:5%;overflow:hidden}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color)}
|
|
9
|
+
</style><style>
|
|
10
|
+
.container{border-bottom:1px solid #ddd;flex-direction:column;padding-top:.5rem;padding-bottom:.5rem;display:flex}header{align-items:center;display:flex}section.options{align-items:center;gap:1rem;width:100%;margin-bottom:.5rem;display:flex}.slider{flex-grow:1}.legend-icon{background:var(--svg-legend-bkg);max-height:1.5rem;filter:var(--svg-map-filter);margin-left:.5rem}
|
|
11
|
+
</style>
|
|
12
|
+
<div class="container"><header><button class="${this.layer?.active ? 'gg-icon-button gg-small gg-selected' : 'gg-icon-button gg-small'}" tip="Activate / Deactivate" onclick="${() => this.toggle()}"><img class="${this.layer?.active ? 'gg-checkbox' : 'hidden'}" alt="Expand/Collapse button" src="icons/checked-full.svg"> <img class="${!this.layer?.active ? 'gg-checkbox' : 'hidden'}" alt="Expand/Collapse button" src="icons/checked-no.svg"></button><div class="label-container"><button class="${this.layer?.active ? 'gg-button gg-small gg-selected' : 'gg-button gg-small'}" onclick="${() => this.toggle()}"><span i18n="${this.layer?.name}" class="gg-tree-label">${this.layer?.name}</span></button></div><img class="${this.layer?.active && this.iconUrl ? 'legend-icon' : 'hidden'}" alt="${'Icon for ' + this.layer?.name}" src="${this.iconUrl}" crossorigin="${this.getCrossOrigin(this.iconUrl)}"></header><section class="options"><input type="range" class="slider" min="0" max="20" value="${((this.layer?.opacity ?? 1) * 20).toString()}" oninput="${(event) => this.layer.opacity = parseInt(event.target.value) / 20}"> <a href="${this.layer?.metadataUrl}" target="_blank" class="${this.layer?.hasMetadata ? 'tool' : 'hidden'}"><img alt="Metadata" src="icons/info.svg"> </a><a href="#" onclick="${() => this.layer.swiped = (this.layer?.swiped === 'left') ? 'no' : 'left'}"><img alt="Swipe layer to the left" src="icons/swipe-left.svg"> </a><a href="#" onclick="${() => this.layer.swiped = (this.layer?.swiped === 'right') ? 'no' : 'right'}"><img alt="Swipe layer to the right" src="icons/swipe-right.svg"> </a><a href="${this.firstLegendUrl ?? '#'}" target="_blank" class="${this.firstLegendUrl ? 'tool' : 'hidden'}"><img alt="Metadata" src="icons/legend.svg"></a></section></div>`;
|
|
13
|
+
};
|
|
14
|
+
iconUrl = null;
|
|
15
|
+
legendUrls = {};
|
|
16
|
+
/**
|
|
17
|
+
* At the moment only 1 legend URL is supported on mobile
|
|
18
|
+
* TODO REG : Manage multiple legend URLs for the same layer
|
|
19
|
+
*/
|
|
20
|
+
get firstLegendUrl() {
|
|
21
|
+
if (Object.keys(this.legendUrls).length > 0) {
|
|
22
|
+
return Object.values(this.legendUrls)[0];
|
|
23
|
+
}
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
wmsLegendHelper;
|
|
27
|
+
constructor() {
|
|
28
|
+
super('layer-selected-mobile');
|
|
29
|
+
}
|
|
30
|
+
getCrossOrigin(url) {
|
|
31
|
+
if (!url) {
|
|
32
|
+
return 'anonymous';
|
|
33
|
+
}
|
|
34
|
+
const hostname = new URL(url).hostname;
|
|
35
|
+
return this.state.oauth.audience.includes(hostname) ? 'use-credentials' : 'anonymous';
|
|
36
|
+
}
|
|
37
|
+
render() {
|
|
38
|
+
if (this.layer instanceof LayerWms) {
|
|
39
|
+
// Manage Legend icons for WMS
|
|
40
|
+
this.iconUrl = this.wmsLegendHelper.getIconUrl(this.layer);
|
|
41
|
+
this.legendUrls = this.wmsLegendHelper.getLegendUrls(this.layer);
|
|
42
|
+
}
|
|
43
|
+
super.render();
|
|
44
|
+
}
|
|
45
|
+
connectedCallback() {
|
|
46
|
+
super.connectedCallback();
|
|
47
|
+
this.wmsLegendHelper = new WmsLegendHelper(this.context);
|
|
48
|
+
this.render();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export default MobileSelectedLayerElementComponent;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import GirafeHTMLElement from '../../../base/GirafeHTMLElement';
|
|
2
|
+
import ThemeLayer from '../../../models/layers/themelayer';
|
|
3
|
+
declare class MobileThemeElementComponent extends GirafeHTMLElement {
|
|
4
|
+
template: () => import("uhtml").Hole;
|
|
5
|
+
theme?: ThemeLayer;
|
|
6
|
+
static get observedAttributes(): string[];
|
|
7
|
+
constructor();
|
|
8
|
+
render(): void;
|
|
9
|
+
private refreshTheme;
|
|
10
|
+
connectedCallback(): void;
|
|
11
|
+
attributeChangedCallback(name: string): void;
|
|
12
|
+
}
|
|
13
|
+
export default MobileThemeElementComponent;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { htmlFor as uHtmlFor } from 'uhtml/keyed';
|
|
2
|
+
import { html as uHtml } from 'uhtml';
|
|
3
|
+
import GirafeHTMLElement from '../../../base/GirafeHTMLElement';
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
5
|
+
// @ts-ignore This import is not used in the typescript file but needed in the HTML Template
|
|
6
|
+
// Cannot use <ts-expect-error> here because after the build-lib, the error disappear
|
|
7
|
+
import GroupLayer from '../../../models/layers/grouplayer'; // NOSONAR
|
|
8
|
+
class MobileThemeElementComponent extends GirafeHTMLElement {
|
|
9
|
+
template = () => {
|
|
10
|
+
return uHtml `<style>
|
|
11
|
+
.hidden{display:none}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.gg-icon-button,.gg-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-button{text-align:left}.gg-small{flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/2.5);margin:0}.gg-small span{margin-left:.5rem;font-size:1rem}.girafe-button-big{filter:drop-shadow(0 0 8px #0000004d);background-color:var(--bkg-color);width:3.5rem;height:3.5rem;color:var(--text-color);border:none;border-radius:4rem;flex-direction:column;align-items:center;padding:.5rem;display:flex}.girafe-button-big img{width:95%;height:auto;padding:5%;overflow:hidden}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color)}
|
|
12
|
+
</style><style>
|
|
13
|
+
header{align-items:center;gap:1rem;font-size:1.5rem;display:flex}
|
|
14
|
+
</style>
|
|
15
|
+
<header><button onclick="${() => this.state.themes.lastSelectedTheme = null}" class="gg-icon-button gg-small"><img alt="Back button" src="icons/arrow_left.svg"></button> <img alt="Theme icon" src="${this.theme?.icon}"> <span i18n="${this.theme?.name}"></span></header><div class="children">${(this.theme?.children ?? []).map(layer => (layer instanceof GroupLayer) ? uHtmlFor(layer, layer.treeItemId) `<girafe-group groupid="${layer.treeItemId}"></girafe-group>` : uHtmlFor(layer, layer.treeItemId) `<girafe-layer layerid="${layer.treeItemId}"></girafe-layer>`)}</div>`;
|
|
16
|
+
};
|
|
17
|
+
theme;
|
|
18
|
+
static get observedAttributes() {
|
|
19
|
+
return ['themeid'];
|
|
20
|
+
}
|
|
21
|
+
constructor() {
|
|
22
|
+
super('theme-mobile');
|
|
23
|
+
}
|
|
24
|
+
render() {
|
|
25
|
+
super.render();
|
|
26
|
+
this.refreshTheme();
|
|
27
|
+
}
|
|
28
|
+
refreshTheme() {
|
|
29
|
+
const themeId = Number(this.getAttribute('themeid'));
|
|
30
|
+
const theme = this.state.layers.layersList.find((layer) => layer.id === themeId);
|
|
31
|
+
if (theme) {
|
|
32
|
+
this.theme = this.context.layerManager.getTreeItem(theme.treeItemId);
|
|
33
|
+
}
|
|
34
|
+
super.refreshRender();
|
|
35
|
+
}
|
|
36
|
+
connectedCallback() {
|
|
37
|
+
super.connectedCallback();
|
|
38
|
+
this.render();
|
|
39
|
+
}
|
|
40
|
+
attributeChangedCallback(name) {
|
|
41
|
+
if (name === 'themeid') {
|
|
42
|
+
this.refreshTheme();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export default MobileThemeElementComponent;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import GirafeHTMLElement from '../../../base/GirafeHTMLElement';
|
|
2
|
+
import Basemap from '../../../models/basemaps/basemap';
|
|
3
|
+
import GroupLayer from '../../../models/layers/grouplayer';
|
|
4
|
+
import Layer from '../../../models/layers/layer';
|
|
5
|
+
import ThemeLayer from '../../../models/layers/themelayer';
|
|
6
|
+
export default class MobileThemeComponent extends GirafeHTMLElement {
|
|
7
|
+
template: () => import("uhtml").Hole;
|
|
8
|
+
activeTab: 'themes' | 'basemaps' | 'selected';
|
|
9
|
+
activeLayersByGroup: Map<GroupLayer, Layer[]>;
|
|
10
|
+
constructor();
|
|
11
|
+
registerEvents(): void;
|
|
12
|
+
private setActiveLayersByGroups;
|
|
13
|
+
changeTab(tab: 'themes' | 'basemaps' | 'selected'): void;
|
|
14
|
+
changeBasemap(basemap: Basemap): void;
|
|
15
|
+
changeTheme(theme: ThemeLayer): void;
|
|
16
|
+
connectedCallback(): void;
|
|
17
|
+
}
|