ui_locations_entries__entries.mjs

/**
## ui/locations/entries

Exports a collection of entry methods for location views.

@requires /ui/locations/entries/boolean
@requires /ui/locations/entries/cloudinary
@requires /ui/locations/entries/dataview
@requires /ui/locations/entries/date
@requires /ui/locations/entries/geometry
@requires /ui/locations/entries/json
@requires /ui/locations/entries/key
@requires /ui/locations/entries/layer
@requires /ui/locations/entries/link
@requires /ui/locations/entries/numeric
@requires /ui/locations/entries/pills
@requires /ui/locations/entries/pin
@requires /ui/locations/entries/query_button
@requires /ui/locations/entries/tab
@requires /ui/locations/entries/text
@requires /ui/locations/entries/textarea
@requires /ui/locations/entries/time
@requires /ui/locations/entries/title
@requires /ui/locations/entries/vector_layer

@module /ui/locations/entries
*/

/**
@global
@typedef {Object} infoj-entry
A infoj-entry describes a location property. Locations are configured as an array of JSON Object entries layer.infoj[].
@property {string} key A unique identifier for the entry. Will be assigned from iteration index in infoj location method if not implicit.
@property {location} location The entry location.
@property {*} [value] The entry value.
@property {string} [field] The database field in layer table which holds the entry data.
@property {string} [fieldfx] A SQL statement to query the entry value in the location get request.
@property {string} [title] The title to be displayed with the entry.value.
@property {boolean} [inline] Flag whether the value should be displayed inline with the title.
@property {object} [edit] Edit configuration for the entry.
@property {string} [query] Query template.
@property {Object} [queryparams] Parameter for query in template.
@property {string} [label] Label for checkbox element.
@property {boolean} [display] Entry display flag.
*/

import boolean from './boolean.mjs';

import cloudinary from './cloudinary.mjs';

import dataview from './dataview.mjs';

import date from './date.mjs';

import geometry from './geometry.mjs';

import json from './json.mjs';

import key from './key.mjs';

import layer from './layer.mjs';

import link from './link.mjs';

import numeric from './numeric.mjs';

import pills from './pills.mjs';

import pin from './pin.mjs';

import query_button from './query_button.mjs';

import tab from './tab.mjs';

import text from './text.mjs';

import textarea from './textarea.mjs';

import time from './time.mjs';

import title from './title.mjs';

import vector_layer from './vector_layer.mjs';

/**
@function defaults
@deprecated

@description
The deprectaed defaults entry method was setting the and updating the mapp user to the entry field.

This method has been deprecated in favour of a more general plugin to set and update the user email and datetime.
*/

function defaults() {
  console.warn(`The type:defaults entry method has been deprecated.`);
}

/**
@function mvt_clone
@deprecated

@description
The mvt_clone entry method has been deprecated in favour of the more universal layer entry method which will be returned with a warning from the mvt_clone method.

@param {infoj-entry} entry mvt_clone type entry. 

@return {Function} layer entry method.
*/

function mvt_clone(entry) {
  console.warn(
    `The type:mvt_clone entry method has been deprecated in favour of the type:layer entry method.`,
  );

  return layer(entry);
}

export default {
  boolean,
  dataview,
  date,
  datetime: date,
  defaults,
  documents: cloudinary,
  geometry,
  html: textarea,
  image: cloudinary,
  images: cloudinary,
  integer: numeric,
  json,
  key,
  layer,
  link,
  mvt_clone,
  numeric,
  pills,
  pin,
  query_button,
  report: link,
  tab,
  text,
  textarea,
  time,
  title,
  vector_layer,
};