mirror of
https://github.com/muerwre/orchidmap-front.git
synced 2025-04-25 19:16:41 +07:00
editor - viewer buttons
This commit is contained in:
parent
1ecc2d2a92
commit
293f3cd7b9
5 changed files with 41 additions and 2 deletions
|
@ -56,7 +56,7 @@ export class UserPanel extends React.PureComponent {
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const {
|
const {
|
||||||
props: { user, userLogout },
|
props: { user, userLogout, editor, editing },
|
||||||
state: { menuOpened },
|
state: { menuOpened },
|
||||||
} = this;
|
} = this;
|
||||||
|
|
||||||
|
@ -74,6 +74,26 @@ export class UserPanel extends React.PureComponent {
|
||||||
<UserMenu user={user} userLogout={userLogout} />
|
<UserMenu user={user} userLogout={userLogout} />
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div className="control-sep" />
|
||||||
|
|
||||||
|
<div className="control-bar">
|
||||||
|
{
|
||||||
|
editing
|
||||||
|
?
|
||||||
|
<button>
|
||||||
|
<span>
|
||||||
|
РЕДАКТОР
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
: <button>
|
||||||
|
<span>
|
||||||
|
ПРОСМОТР
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
}
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -14,6 +14,7 @@ import { getUrlData, pushPath } from '$utils/history';
|
||||||
export class App extends React.Component {
|
export class App extends React.Component {
|
||||||
state = {
|
state = {
|
||||||
mode: 'none',
|
mode: 'none',
|
||||||
|
editing: false,
|
||||||
logo: DEFAULT_LOGO,
|
logo: DEFAULT_LOGO,
|
||||||
routerPoints: 0,
|
routerPoints: 0,
|
||||||
totalDistance: 0,
|
totalDistance: 0,
|
||||||
|
@ -93,6 +94,11 @@ export class App extends React.Component {
|
||||||
this.setState({ logo });
|
this.setState({ logo });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
setEditing = editing => {
|
||||||
|
console.log('editing', editing);
|
||||||
|
this.setState({ editing });
|
||||||
|
};
|
||||||
|
|
||||||
editor = new Editor({
|
editor = new Editor({
|
||||||
container: 'map',
|
container: 'map',
|
||||||
mode: this.state.mode,
|
mode: this.state.mode,
|
||||||
|
@ -101,6 +107,7 @@ export class App extends React.Component {
|
||||||
setTotalDist: this.setTotalDist,
|
setTotalDist: this.setTotalDist,
|
||||||
setActiveSticker: this.setActiveSticker,
|
setActiveSticker: this.setActiveSticker,
|
||||||
setLogo: this.setLogo,
|
setLogo: this.setLogo,
|
||||||
|
setEditing: this.setEditing,
|
||||||
});
|
});
|
||||||
|
|
||||||
authInit = () => {
|
authInit = () => {
|
||||||
|
@ -155,7 +162,7 @@ export class App extends React.Component {
|
||||||
const {
|
const {
|
||||||
editor,
|
editor,
|
||||||
state: {
|
state: {
|
||||||
mode, routerPoints, totalDistance, estimateTime, activeSticker, logo, user,
|
mode, routerPoints, totalDistance, estimateTime, activeSticker, logo, user, editing,
|
||||||
},
|
},
|
||||||
} = this;
|
} = this;
|
||||||
|
|
||||||
|
@ -167,6 +174,8 @@ export class App extends React.Component {
|
||||||
<UserLocation editor={editor} />
|
<UserLocation editor={editor} />
|
||||||
|
|
||||||
<UserPanel
|
<UserPanel
|
||||||
|
editor={editor}
|
||||||
|
editing={editing}
|
||||||
user={user}
|
user={user}
|
||||||
setUser={this.setUser}
|
setUser={this.setUser}
|
||||||
userLogout={this.userLogout}
|
userLogout={this.userLogout}
|
||||||
|
|
|
@ -17,6 +17,7 @@ export class Editor {
|
||||||
setTotalDist,
|
setTotalDist,
|
||||||
setActiveSticker,
|
setActiveSticker,
|
||||||
setLogo,
|
setLogo,
|
||||||
|
setEditing,
|
||||||
}) {
|
}) {
|
||||||
this.logo = DEFAULT_LOGO;
|
this.logo = DEFAULT_LOGO;
|
||||||
this.owner = null;
|
this.owner = null;
|
||||||
|
@ -63,6 +64,7 @@ export class Editor {
|
||||||
this.setActiveSticker = setActiveSticker;
|
this.setActiveSticker = setActiveSticker;
|
||||||
this.setLogo = setLogo;
|
this.setLogo = setLogo;
|
||||||
this.setMode = setMode;
|
this.setMode = setMode;
|
||||||
|
this.setEditing = setEditing;
|
||||||
this.mode = mode;
|
this.mode = mode;
|
||||||
|
|
||||||
map.addEventListener('mouseup', this.onClick);
|
map.addEventListener('mouseup', this.onClick);
|
||||||
|
@ -196,11 +198,13 @@ export class Editor {
|
||||||
startEditing = () => {
|
startEditing = () => {
|
||||||
this.poly.poly.enableEdit();
|
this.poly.poly.enableEdit();
|
||||||
this.stickers.startEditing();
|
this.stickers.startEditing();
|
||||||
|
this.setEditing(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
stopEditing = () => {
|
stopEditing = () => {
|
||||||
this.poly.poly.disableEdit();
|
this.poly.poly.disableEdit();
|
||||||
this.stickers.stopEditing();
|
this.stickers.stopEditing();
|
||||||
|
this.setEditing(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
dumpData = () => ({
|
dumpData = () => ({
|
||||||
|
|
|
@ -92,6 +92,7 @@ export class Sticker {
|
||||||
};
|
};
|
||||||
|
|
||||||
estimateAngle = e => {
|
estimateAngle = e => {
|
||||||
|
console.log('est');
|
||||||
const { x, y } = this.element.getBoundingClientRect();
|
const { x, y } = this.element.getBoundingClientRect();
|
||||||
const { pageX, pageY } = e;
|
const { pageX, pageY } = e;
|
||||||
this.angle = Math.atan2((y - pageY), (x - pageX));
|
this.angle = Math.atan2((y - pageY), (x - pageX));
|
||||||
|
|
|
@ -2,6 +2,11 @@
|
||||||
outline: none;
|
outline: none;
|
||||||
position: relative;
|
position: relative;
|
||||||
transition: transform 250ms;
|
transition: transform 250ms;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
&.leaflet-drag-target {
|
||||||
|
transition: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
&:before {
|
&:before {
|
||||||
content: ' ';
|
content: ' ';
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue