diff --git a/assets/translations/data.en-US.json b/assets/translations/data.en-US.json index 7a8450e..54d006f 100644 --- a/assets/translations/data.en-US.json +++ b/assets/translations/data.en-US.json @@ -181,6 +181,9 @@ "coProprietaire": { "tooltip": "Co-owner" }, + "rechercheProprietaires": { + "tooltip": "Owner and co-owner" + }, "bordereauparcellaire": { "title": "Plot information", "basemap": "Choose baseMap", diff --git a/assets/translations/data.fr-FR.json b/assets/translations/data.fr-FR.json index 7745f1b..01ff5d0 100644 --- a/assets/translations/data.fr-FR.json +++ b/assets/translations/data.fr-FR.json @@ -181,6 +181,9 @@ "coProprietaire": { "tooltip": "Co-propriétaire" }, + "rechercheProprietaires": { + "tooltip": "Propiétaires et co-propiétaires" + }, "bordereauparcellaire": { "title": "Bordereau parcellaire", "basemap": "Fond de plan", diff --git a/js/extension/assets/owners.svg b/js/extension/assets/owners.svg new file mode 100644 index 0000000..7370d63 --- /dev/null +++ b/js/extension/assets/owners.svg @@ -0,0 +1,62 @@ + + + + + + + + + + diff --git a/js/extension/cadastrapp.css b/js/extension/cadastrapp.css index b14cfc9..d0af3d1 100644 --- a/js/extension/cadastrapp.css +++ b/js/extension/cadastrapp.css @@ -336,8 +336,12 @@ input.request-obj-double.form-control{ user-select: text; } -.cadstrap_selectionToolsButton { +.cadastrapp_selectionToolsButton { display: flex; justify-content: center; margin: 10px 0 10px 0; -} \ No newline at end of file +} + +.btn-active .ownersIcon { + filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(140deg) brightness(105%) contrast(104%); +} diff --git a/js/extension/components/search/PlotSearch.jsx b/js/extension/components/search/PlotSearch.jsx index 58f677e..8420e44 100644 --- a/js/extension/components/search/PlotSearch.jsx +++ b/js/extension/components/search/PlotSearch.jsx @@ -21,7 +21,7 @@ export default function PlotsSearch({onSearch = () => {}, loading}) { return (

-
+
); + case SEARCH_TOOLS.OWNERS: case SEARCH_TOOLS.OWNER: - return (<>); + return ( + <> +
+ +
+ + + ); case SEARCH_TOOLS.COOWNER: - return (<>); + return ( + <> +
+ +
+ + + ); default: return null; diff --git a/js/extension/plugins/cadastrapp/toolbar/SearchTools.jsx b/js/extension/plugins/cadastrapp/toolbar/SearchTools.jsx index 671ae72..a585819 100644 --- a/js/extension/plugins/cadastrapp/toolbar/SearchTools.jsx +++ b/js/extension/plugins/cadastrapp/toolbar/SearchTools.jsx @@ -7,6 +7,7 @@ import TButton from './TButton'; import { connect } from 'react-redux'; import { Tooltip } from "react-bootstrap"; import Message from "@mapstore/components/I18N/Message"; +import { ownersIcon } from './toolbarIcons'; /* ["zoom-to", "search-plots", "Plots Search"], @@ -14,12 +15,18 @@ import Message from "@mapstore/components/I18N/Message"; ["user", "coownership", "Co-ownership data Search"], */ +const svgDataUrl = `data:image/svg+xml;utf8,${encodeURIComponent(ownersIcon)}`; const tooltip = (id, msgId) => ; const BUTTONS_SETTINGS = { [SEARCH_TOOLS.PLOT]: { glyph: "search", tooltip: tooltip("search", "cadastrapp.parcelle.tooltip") }, + [SEARCH_TOOLS.OWNERS]: { + imgSrc: svgDataUrl, + cls: "ownersIcon", + tooltip: tooltip("users", "cadastrapp.rechercheProprietaires.tooltip") + }, [SEARCH_TOOLS.OWNER]: { glyph: "user", tooltip: tooltip("user", "cadastrapp.proprietaire.tooltip") @@ -39,12 +46,16 @@ const BUTTONS_SETTINGS = { * Implements Search tools buttons. * They are mutually exclusive and allow to select the needed search form. */ -function SearchTools({ authLevel = {}, currentTool, onClick = () => { } }) { +function SearchTools({ authLevel = {}, currentTool, onClick = () => { }, owners = false }) { const { isCNIL1, isCNIL2 } = authLevel; - + if (currentTool === "OWNERS") currentTool = "OWNER"; return <> { Object.keys(SEARCH_TOOLS) + .filter(k => owners ? + [SEARCH_TOOLS.OWNER, SEARCH_TOOLS.COOWNER].includes(k) : + [SEARCH_TOOLS.PLOT, SEARCH_TOOLS.OWNERS].includes(k) + ) .filter(k => { if (isCNIL1 || isCNIL2) { return true; @@ -55,7 +66,10 @@ function SearchTools({ authLevel = {}, currentTool, onClick = () => { } }) { .map(toolName => { const isActive = toolName === currentTool; return ( isActive ? onClick() : onClick(toolName)} />); diff --git a/js/extension/plugins/cadastrapp/toolbar/TButton.jsx b/js/extension/plugins/cadastrapp/toolbar/TButton.jsx index 145c059..57fbc87 100644 --- a/js/extension/plugins/cadastrapp/toolbar/TButton.jsx +++ b/js/extension/plugins/cadastrapp/toolbar/TButton.jsx @@ -10,8 +10,11 @@ import { */ export default ({ glyph, + imgSrc, + cls, bsStyle, tooltip = , + isCustom, ...props }) => { return ( @@ -19,7 +22,10 @@ export default ({ {...props} bsStyle={bsStyle || "primary"} className="square-button"> - + {imgSrc ? + : + + } ); }; diff --git a/js/extension/plugins/cadastrapp/toolbar/toolbarIcons.js b/js/extension/plugins/cadastrapp/toolbar/toolbarIcons.js new file mode 100644 index 0000000..92c5cf1 --- /dev/null +++ b/js/extension/plugins/cadastrapp/toolbar/toolbarIcons.js @@ -0,0 +1,58 @@ +export const ownersIcon = ` + + + + + +`;