aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/Layout.mjs10
-rw-r--r--src/MenuItem.mjs16
-rw-r--r--src/dumbyUtils.mjs13
-rw-r--r--src/dumbymap.mjs12
-rw-r--r--src/editor.mjs23
5 files changed, 40 insertions, 34 deletions
diff --git a/src/Layout.mjs b/src/Layout.mjs
index 1b5656d..485b513 100644
--- a/src/Layout.mjs
+++ b/src/Layout.mjs
@@ -94,7 +94,7 @@ export class Overlay extends Layout {
94 /** 94 /**
95 * saveLeftTopAsData. 95 * saveLeftTopAsData.
96 * 96 *
97 * @param {} element 97 * @param {HTMLElement} element
98 */ 98 */
99 saveLeftTopAsData = element => { 99 saveLeftTopAsData = element => {
100 const { left, top } = element.getBoundingClientRect() 100 const { left, top } = element.getBoundingClientRect()
@@ -105,7 +105,7 @@ export class Overlay extends Layout {
105 /** 105 /**
106 * addDraggable. 106 * addDraggable.
107 * 107 *
108 * @param {} element 108 * @param {HTMLElement} element
109 */ 109 */
110 addDraggable = element => { 110 addDraggable = element => {
111 // Make sure current element always on top 111 // Make sure current element always on top
@@ -169,7 +169,8 @@ export class Overlay extends Layout {
169 /** 169 /**
170 * enterHandler. 170 * enterHandler.
171 * 171 *
172 * @param {} 172 * @param {HTMLElement} options.hemlHolder - Parent element for block
173 * @param {HTMLElement[]} options.blocks
173 */ 174 */
174 enterHandler = ({ htmlHolder, blocks }) => { 175 enterHandler = ({ htmlHolder, blocks }) => {
175 // FIXME It is weird rect from this method and this scope are different... 176 // FIXME It is weird rect from this method and this scope are different...
@@ -257,7 +258,8 @@ export class Overlay extends Layout {
257 /** 258 /**
258 * leaveHandler. 259 * leaveHandler.
259 * 260 *
260 * @param {} 261 * @param {HTMLElement} htmlHolder
262 * @param {HTMLElement[]} blocks
261 */ 263 */
262 leaveHandler = ({ htmlHolder, blocks }) => { 264 leaveHandler = ({ htmlHolder, blocks }) => {
263 const resumeFromDraggable = block => { 265 const resumeFromDraggable = block => {
diff --git a/src/MenuItem.mjs b/src/MenuItem.mjs
index 2fcb144..61ed33e 100644
--- a/src/MenuItem.mjs
+++ b/src/MenuItem.mjs
@@ -2,9 +2,9 @@ import { shiftByWindow } from './utils.mjs'
2 2
3/** 3/**
4 * @typedef {Object} RefLink 4 * @typedef {Object} RefLink
5 * @property {string} ref -- name of link 5 * @property {string} ref - name of link
6 * @property {string} link -- content of link 6 * @property {string} link - content of link
7 * @property {string|null} title -- title of link 7 * @property {string|null} title - title of link
8 */ 8 */
9 9
10/** 10/**
@@ -204,7 +204,9 @@ export class Suggestion extends Item {
204 /** 204 /**
205 * constructor. 205 * constructor.
206 * 206 *
207 * @param {} 207 * @param {String} options.text
208 * @param {String} options.replace - new text content
209 * @param {CodeMirror} options.cm
208 */ 210 */
209 constructor ({ text, replace, cm }) { 211 constructor ({ text, replace, cm }) {
210 super({ text }) 212 super({ text })
@@ -235,9 +237,9 @@ window.customElements.define('menu-item-suggestion', Suggestion, { extends: 'div
235/** 237/**
236 * renderResults. return a menu item for reporting render results 238 * renderResults. return a menu item for reporting render results
237 * 239 *
238 * @param {Object} options.modal -- Ojbect of plain-modal 240 * @param {Object} options.modal - Ojbect of plain-modal
239 * @param {HTMLElement} options.modalContent 241 * @param {HTMLElement} options.modalContent
240 * @param {HTMLElement} map -- Rendered map element 242 * @param {HTMLElement} map - Rendered map element
241 */ 243 */
242export const renderResults = ({ modal, modalContent }, map) => 244export const renderResults = ({ modal, modalContent }, map) =>
243 new Item({ 245 new Item({
@@ -366,7 +368,7 @@ export const toggleMapFocus = map =>
366 * getCoordinatesByPixels. 368 * getCoordinatesByPixels.
367 * 369 *
368 * @param {HTMLElement} map instance 370 * @param {HTMLElement} map instance
369 * @param {Number[]} xy -- pixel of window 371 * @param {Number[]} xy - pixel of window
370 */ 372 */
371export const getCoordinatesByPixels = (map, xy) => 373export const getCoordinatesByPixels = (map, xy) =>
372 new Item({ 374 new Item({
diff --git a/src/dumbyUtils.mjs b/src/dumbyUtils.mjs
index f0878cf..a449646 100644
--- a/src/dumbyUtils.mjs
+++ b/src/dumbyUtils.mjs
@@ -5,8 +5,7 @@ export const coordPattern = /^geo:([-]?[0-9.]+),([-]?[0-9.]+)/
5 5
6/** 6/**
7 * focusNextMap. 7 * focusNextMap.
8 * 8 * @param {Boolean} reverse - focus previous map
9 * @param {Boolean} reverse -- focus previous map
10 */ 9 */
11export function focusNextMap (reverse = false) { 10export function focusNextMap (reverse = false) {
12 const renderedList = this.utils.renderedMaps() 11 const renderedList = this.utils.renderedMaps()
@@ -21,7 +20,7 @@ export function focusNextMap (reverse = false) {
21/** 20/**
22 * focusNextBlock. 21 * focusNextBlock.
23 * 22 *
24 * @param {Boolean} reverse -- focus previous block 23 * @param {Boolean} reverse - focus previous block
25 */ 24 */
26export function focusNextBlock (reverse = false) { 25export function focusNextBlock (reverse = false) {
27 const blocks = this.blocks.filter(b => 26 const blocks = this.blocks.filter(b =>
@@ -44,7 +43,7 @@ export function focusNextBlock (reverse = false) {
44 * scrollToBlock. Smoothly scroll to target block. 43 * scrollToBlock. Smoothly scroll to target block.
45 * If block is bigger than viewport, then pick strategy wisely. 44 * If block is bigger than viewport, then pick strategy wisely.
46 * 45 *
47 * @param {HTMLElement} block -- Scroll to this element 46 * @param {HTMLElement} block - Scroll to this element
48 */ 47 */
49export const scrollToBlock = block => { 48export const scrollToBlock = block => {
50 const parentRect = block.parentElement.getBoundingClientRect() 49 const parentRect = block.parentElement.getBoundingClientRect()
@@ -65,7 +64,7 @@ export function focusDelay () {
65/** 64/**
66 * switchToNextLayout. 65 * switchToNextLayout.
67 * 66 *
68 * @param {Boolean} reverse -- Switch to previous one 67 * @param {Boolean} reverse - Switch to previous one
69 */ 68 */
70export function switchToNextLayout (reverse = false) { 69export function switchToNextLayout (reverse = false) {
71 const layouts = this.layouts 70 const layouts = this.layouts
@@ -297,9 +296,9 @@ const isAnchorVisible = anchor => {
297/** 296/**
298 * addAnchorByPoint. 297 * addAnchorByPoint.
299 * 298 *
300 * @param {point} options.point -- object has {x, y} for window coordinates 299 * @param {point} options.point - object has {x, y} for window coordinates
301 * @param {HTMLElement} options.map 300 * @param {HTMLElement} options.map
302 * @param {Function} options.validateAnchorName -- validate anchor name is OK to use 301 * @param {Function} options.validateAnchorName - validate anchor name is OK to use
303 */ 302 */
304export const addAnchorByPoint = ({ 303export const addAnchorByPoint = ({
305 defaultName, 304 defaultName,
diff --git a/src/dumbymap.mjs b/src/dumbymap.mjs
index 4405786..4cfc484 100644
--- a/src/dumbymap.mjs
+++ b/src/dumbymap.mjs
@@ -12,7 +12,7 @@ import PlainModal from 'plain-modal'
12import proj4 from 'proj4' 12import proj4 from 'proj4'
13import { register, fromEPSGCode } from 'ol/proj/proj4' 13import { register, fromEPSGCode } from 'ol/proj/proj4'
14 14
15/** Selector of special HTML Elements */ 15/** CSS Selector for main components */
16const mapBlockSelector = 'pre:has(.language-map)' 16const mapBlockSelector = 'pre:has(.language-map)'
17const docLinkSelector = 'a[href^="#"][title^="=>"]' 17const docLinkSelector = 'a[href^="#"][title^="=>"]'
18const geoLinkSelector = 'a[href^="geo:"]' 18const geoLinkSelector = 'a[href^="geo:"]'
@@ -175,11 +175,11 @@ export const generateMaps = (container, {
175 } 175 }
176 }) 176 })
177 177
178 /** Create DocLinks */ 178 /** LINK: Create DocLinks */
179 container.querySelectorAll(docLinkSelector) 179 container.querySelectorAll(docLinkSelector)
180 .forEach(utils.createDocLink) 180 .forEach(utils.createDocLink)
181 181
182 /** Add external symbol on anchors */ 182 /** LINK: Add external symbol on anchors */
183 container.querySelectorAll('a') 183 container.querySelectorAll('a')
184 .forEach(a => { 184 .forEach(a => {
185 if (a.href.startsWith('http') && !a.href.startsWith(window.location.origin)) { 185 if (a.href.startsWith('http') && !a.href.startsWith(window.location.origin)) {
@@ -187,7 +187,7 @@ export const generateMaps = (container, {
187 } 187 }
188 }) 188 })
189 189
190 /** Set CRS and GeoLinks */ 190 /** LINK: Set CRS and GeoLinks */
191 register(proj4) 191 register(proj4)
192 fromEPSGCode(crs).then(projection => { 192 fromEPSGCode(crs).then(projection => {
193 const transform = proj4(crs, 'EPSG:4326').forward 193 const transform = proj4(crs, 'EPSG:4326').forward
@@ -417,7 +417,7 @@ export const generateMaps = (container, {
417 /** 417 /**
418 * updateAttributeByStep. 418 * updateAttributeByStep.
419 * 419 *
420 * @param {Object} -- renderer which is running steps 420 * @param {Object} - renderer which is running steps
421 */ 421 */
422 const updateAttributeByStep = ({ results, target, steps }) => { 422 const updateAttributeByStep = ({ results, target, steps }) => {
423 let passNum = results.filter( 423 let passNum = results.filter(
@@ -442,7 +442,7 @@ export const generateMaps = (container, {
442 * config converter for mapclay.renderWith() 442 * config converter for mapclay.renderWith()
443 * 443 *
444 * @param {Object} config 444 * @param {Object} config
445 * @return {Object} -- converted config 445 * @return {Object} - converted config
446 */ 446 */
447 const configConverter = config => ({ 447 const configConverter = config => ({
448 use: config.use ?? 'Leaflet', 448 use: config.use ?? 'Leaflet',
diff --git a/src/editor.mjs b/src/editor.mjs
index f6c7dab..a8e3e0d 100644
--- a/src/editor.mjs
+++ b/src/editor.mjs
@@ -9,9 +9,9 @@ import * as tutorial from './tutorial'
9 9
10/** 10/**
11 * @typedef {Object} RefLink 11 * @typedef {Object} RefLink
12 * @property {string} ref -- name of link 12 * @property {string} ref - name of link
13 * @property {string} link -- content of link 13 * @property {string} link - content of link
14 * @property {string|null} title -- title of link 14 * @property {string|null} title - title of link
15 */ 15 */
16 16
17// Set up Containers {{{ 17// Set up Containers {{{
@@ -291,6 +291,7 @@ const updateScrollLine = (ele) => () => {
291 } 291 }
292} 292}
293 293
294/** sync scroll from HTML to CodeMirror */
294new window.MutationObserver(() => { 295new window.MutationObserver(() => {
295 clearTimeout(dumbyContainer.timer) 296 clearTimeout(dumbyContainer.timer)
296 dumbyContainer.timer = setTimeout( 297 dumbyContainer.timer = setTimeout(
@@ -377,7 +378,7 @@ addClassToCodeLines()
377/** 378/**
378 * completeForCodeBlock. 379 * completeForCodeBlock.
379 * 380 *
380 * @param {Object} change -- codemirror change object 381 * @param {Object} change - codemirror change object
381 */ 382 */
382const completeForCodeBlock = change => { 383const completeForCodeBlock = change => {
383 const line = change.to.line 384 const line = change.to.line
@@ -436,8 +437,8 @@ const completeForCodeBlock = change => {
436/** 437/**
437 * menuForEditor. 438 * menuForEditor.
438 * 439 *
439 * @param {Event} event -- Event for context menu 440 * @param {Event} event - Event for context menu
440 * @param {HTMLElement} menu -- menu of dumbymap 441 * @param {HTMLElement} menu - menu of dumbymap
441 */ 442 */
442const menuForEditor = (event, menu) => { 443const menuForEditor = (event, menu) => {
443 event.preventDefault() 444 event.preventDefault()
@@ -583,7 +584,7 @@ const insideCodeblockForMap = anchor => {
583/** 584/**
584 * getLineWithRenderer. Get Renderer by cursor position in code block {{{ 585 * getLineWithRenderer. Get Renderer by cursor position in code block {{{
585 * 586 *
586 * @param {Object} anchor -- Codemirror Anchor Object 587 * @param {Object} anchor - Codemirror Anchor Object
587 */ 588 */
588const getLineWithRenderer = anchor => { 589const getLineWithRenderer = anchor => {
589 const currentLine = anchor.line 590 const currentLine = anchor.line
@@ -686,7 +687,7 @@ const getSuggestionsFromAliases = option =>
686/** 687/**
687 * handleTypingInCodeBlock. Handler for map codeblock {{{ 688 * handleTypingInCodeBlock. Handler for map codeblock {{{
688 * 689 *
689 * @param {Object} anchor -- Codemirror Anchor Object 690 * @param {Object} anchor - Codemirror Anchor Object
690 */ 691 */
691const handleTypingInCodeBlock = anchor => { 692const handleTypingInCodeBlock = anchor => {
692 const text = cm.getLine(anchor.line) 693 const text = cm.getLine(anchor.line)
@@ -703,7 +704,7 @@ const handleTypingInCodeBlock = anchor => {
703/** 704/**
704 * getSuggestions. Get suggestions by current input {{{ 705 * getSuggestions. Get suggestions by current input {{{
705 * 706 *
706 * @param {Object} anchor -- Codemirror Anchor Object 707 * @param {Object} anchor - Codemirror Anchor Object
707 */ 708 */
708const getSuggestions = anchor => { 709const getSuggestions = anchor => {
709 const text = cm.getLine(anchor.line) 710 const text = cm.getLine(anchor.line)
@@ -823,7 +824,7 @@ const getSuggestions = anchor => {
823/** 824/**
824 * addSuggestions. Show element about suggestions {{{ 825 * addSuggestions. Show element about suggestions {{{
825 * 826 *
826 * @param {Object} anchor -- Codemirror Anchor Object 827 * @param {Object} anchor - Codemirror Anchor Object
827 * @param {Suggestion[]} suggestions 828 * @param {Suggestion[]} suggestions
828 */ 829 */
829const addSuggestions = (anchor, suggestions) => { 830const addSuggestions = (anchor, suggestions) => {
@@ -1102,6 +1103,8 @@ dumbyContainer.onmousedown = (e) => {
1102 lineEnd.style.left = event.clientX + 'px' 1103 lineEnd.style.left = event.clientX + 'px'
1103 lineEnd.style.top = event.clientY + 'px' 1104 lineEnd.style.top = event.clientY + 'px'
1104 line.position() 1105 line.position()
1106
1107 // TODO Scroll dumbymap.htmlHolder when cursor is at upper/lower side
1105 } 1108 }
1106 1109
1107 context.classList.add('dragging-geolink') 1110 context.classList.add('dragging-geolink')