dawarich/vendor/javascript/leaflet.control.layers.tree.js

5 lines
9.3 KiB
JavaScript
Raw Normal View History

0.36.0 (#1952) * Implement OmniAuth GitHub authentication * Fix omniauth GitHub scope to include user email access * Remove margin-bottom * Implement Google OAuth2 authentication * Implement OIDC authentication for Dawarich using omniauth_openid_connect gem. * Add patreon account linking and patron checking service * Update docker-compose.yml to use boolean values instead of strings * Add support for KML files * Add tests * Update changelog * Remove patreon OAuth integration * Move omniauthable to a concern * Update an icon in integrations * Update changelog * Update app version * Fix family location sharing toggle * Move family location sharing to its own controller * Update changelog * Implement basic tagging functionality for places, allowing users to categorize and label places with custom tags. * Add places management API and tags feature * Add some changes related to places management feature * Fix some tests * Fix sometests * Add places layer * Update places layer to use Leaflet.Control.Layers.Tree for hierarchical layer control * Rework tag form * Add hashtag * Add privacy zones to tags * Add notes to places and manage place tags * Update changelog * Update e2e tests * Extract tag serializer to its own file * Fix some tests * Fix tags request specs * Fix some tests * Fix rest of the tests * Revert some changes * Add missing specs * Revert changes in place export/import code * Fix some specs * Fix PlaceFinder to only consider global places when finding existing places * Fix few more specs * Fix visits creator spec * Fix last tests * Update place creating modal * Add home location based on "Home" tagged place * Save enabled tag layers * Some fixes * Fix bug where enabling place tag layers would trigger saving enabled layers, overwriting with incomplete data * Update migration to use disable_ddl_transaction! and add up/down methods * Fix tag layers restoration and filtering logic * Update OIDC auto-registration and email/password registration settings * Fix potential xss
2025-11-24 13:45:09 -05:00
// leaflet.control.layers.tree@1.2.0 downloaded from https://ga.jspm.io/npm:leaflet.control.layers.tree@1.2.0/L.Control.Layers.Tree.js
import*as e from"leaflet";var t=e;try{"default"in e&&(t=e.default)}catch(e){}var l=typeof globalThis!=="undefined"?globalThis:typeof self!=="undefined"?self:global;var s={};(function(e,l){l(s,t)})(0,(function(e,t){if(typeof t==="undefined")throw new Error("Leaflet must be included first");t.Control.Layers.Tree=t.Control.Layers.extend({options:{closedSymbol:"+",openedSymbol:"&minus;",spaceSymbol:" ",selectorBack:false,namedToggle:false,collapseAll:"",expandAll:"",labelIsSelector:"both"},_initClassesNames:function(){(this||l).cls={children:"leaflet-layerstree-children",childrenNopad:"leaflet-layerstree-children-nopad",hide:"leaflet-layerstree-hide",closed:"leaflet-layerstree-closed",opened:"leaflet-layerstree-opened",space:"leaflet-layerstree-header-space",pointer:"leaflet-layerstree-header-pointer",header:"leaflet-layerstree-header",neverShow:"leaflet-layerstree-nevershow",node:"leaflet-layerstree-node",name:"leaflet-layerstree-header-name",label:"leaflet-layerstree-header-label",selAllCheckbox:"leaflet-layerstree-sel-all-checkbox"}},initialize:function(e,s,a){(this||l)._scrollTop=0;this._initClassesNames();(this||l)._baseTree=null;(this||l)._overlaysTree=null;t.Util.setOptions(this||l,a);t.Control.Layers.prototype.initialize.call(this||l,null,null,a);this._setTrees(e,s)},setBaseTree:function(e){return this._setTrees(e)},setOverlayTree:function(e){return this._setTrees(void 0,e)},addBaseLayer:function(e,t){throw"addBaseLayer is disabled"},addOverlay:function(e,t){throw"addOverlay is disabled"},removeLayer:function(e){throw"removeLayer is disabled"},collapse:function(){(this||l)._scrollTop=this._sect().scrollTop;return t.Control.Layers.prototype.collapse.call(this||l)},expand:function(){t.Control.Layers.prototype.expand.call(this||l);this._sect().scrollTop=(this||l)._scrollTop},onAdd:function(e){function s(e){e._layersTreeName&&(r.innerHTML=e._layersTreeName)}var a=t.Control.Layers.prototype.onAdd.call(this||l,e);if((this||l).options.namedToggle){var r=(this||l)._container.getElementsByClassName("leaflet-control-layers-toggle")[0];t.DomUtil.addClass(r,"leaflet-layerstree-named-toggle");e.eachLayer((function(e){s(e)}));e.on("baselayerchange",(function(e){s(e.layer)}),this||l)}return a},expandTree:function(e){var t=e?(this||l)._overlaysList:(this||l)._baseLayersList;t&&this._applyOnTree(t,false);return this._localExpand()},collapseTree:function(e){var t=e?(this||l)._overlaysList:(this||l)._baseLayersList;t&&this._applyOnTree(t,true);return this._localExpand()},expandSelected:function(e){function s(e){var l=e.parentElement;if(l){t.DomUtil.hasClass(l,a.cls.children)&&!t.DomUtil.hasClass(e,a.cls.childrenNopad)&&t.DomUtil.removeClass(l,i);if(t.DomUtil.hasClass(l,a.cls.node)){var r=l.getElementsByClassName(a.cls.header)[0];a._applyOnTree(r,false)}s(l)}}var a=this||l;var r=e?(this||l)._overlaysList:(this||l)._baseLayersList;if(!r)return this||l;var i=(this||l).cls.hide;var n=(this||l)._layerControlInputs||r.getElementsByTagName("input");for(var o=0;o<n.length;o++){var c=n[o];(this||l)._getLayer&&!!this._getLayer(c.layerId).overlay!=!!e||c.checked&&s(c.parentElement.parentElement.parentElement.parentElement)}return this._localExpand()},_sect:function(){return(this||l)._section||(this||l)._form},_setTrees:function(e,t){var s=0;function a(e,t,l){if(e&&e.layer){l||(e.layer._layersTreeName=e.name||e.label);t[s++]=e.layer}e&&e.children&&e.children.length&&e.children.forEach((function(e){a(e,t,l)}));return t}function r(e){return Array.isArray(e)?{noShow:true,children:e}:e}(this||l)._layerControlInputs&&((this||l)._layerControlInputs=[]);for(var i=0;i<(this||l)._layers.length;++i)(this||l)._layers[i].layer.off("add remove",(this||l)._onLayerChange,this||l);(this||l)._layers=[];e!==void 0&&((this||l)._baseTree=r(e));t!==void 0&&((this||l)._overlaysTree=r(t));var n=a((this||l)._baseTree,{});for(var o in n)this._addLayer(n[o],o);var c=a((this||l)._overlaysTree,{},true);for(var h in c)this._addLayer(c[h],h,true);return(this||l)._map?this._update():this||l},_localExpand:function(){if((this||l)._map&&t.DomUtil.hasClass((this||l)._container,"le