mirror of
https://bitbucket.org/wisemapping/wisemapping-frontend.git
synced 2024-11-25 23:54:55 +01:00
Add support for emails separated by , in share screen
This commit is contained in:
parent
33aac44ecf
commit
94367c6e5e
@ -28,12 +28,6 @@ import SizeType from './SizeType';
|
|||||||
class MainTopic extends Topic {
|
class MainTopic extends Topic {
|
||||||
private INNER_RECT_ATTRIBUTES: { stroke: string; };
|
private INNER_RECT_ATTRIBUTES: { stroke: string; };
|
||||||
|
|
||||||
/**
|
|
||||||
* @extends mindplot.Topic
|
|
||||||
* @constructs
|
|
||||||
* @param model
|
|
||||||
* @param options
|
|
||||||
*/
|
|
||||||
constructor(model: NodeModel, options) {
|
constructor(model: NodeModel, options) {
|
||||||
super(model, options);
|
super(model, options);
|
||||||
this.INNER_RECT_ATTRIBUTES = { stroke: '0.5 solid #009900' };
|
this.INNER_RECT_ATTRIBUTES = { stroke: '0.5 solid #009900' };
|
||||||
@ -88,7 +82,6 @@ class MainTopic extends Topic {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** */
|
|
||||||
disconnect(workspace: Workspace) {
|
disconnect(workspace: Workspace) {
|
||||||
super.disconnect(workspace);
|
super.disconnect(workspace);
|
||||||
const model = this.getModel();
|
const model = this.getModel();
|
||||||
|
@ -44,6 +44,8 @@ import LayoutManager from './layout/LayoutManager';
|
|||||||
import NoteModel from './model/NoteModel';
|
import NoteModel from './model/NoteModel';
|
||||||
import LinkModel from './model/LinkModel';
|
import LinkModel from './model/LinkModel';
|
||||||
import SizeType from './SizeType';
|
import SizeType from './SizeType';
|
||||||
|
import FeatureModel from './model/FeatureModel';
|
||||||
|
import Icon from './Icon';
|
||||||
|
|
||||||
const ICON_SCALING_FACTOR = 1.3;
|
const ICON_SCALING_FACTOR = 1.3;
|
||||||
|
|
||||||
@ -156,7 +158,6 @@ abstract class Topic extends NodeGraph {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return {String} topic shape type */
|
|
||||||
getShapeType(): string {
|
getShapeType(): string {
|
||||||
const model = this.getModel();
|
const model = this.getModel();
|
||||||
let result = model.getShapeType();
|
let result = model.getShapeType();
|
||||||
@ -166,7 +167,7 @@ abstract class Topic extends NodeGraph {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private _removeInnerShape() {
|
private _removeInnerShape(): ElementClass {
|
||||||
const group = this.get2DElement();
|
const group = this.get2DElement();
|
||||||
const innerShape = this.getInnerShape();
|
const innerShape = this.getInnerShape();
|
||||||
group.removeChild(innerShape);
|
group.removeChild(innerShape);
|
||||||
@ -303,7 +304,7 @@ abstract class Topic extends NodeGraph {
|
|||||||
return this._text;
|
return this._text;
|
||||||
}
|
}
|
||||||
|
|
||||||
getOrBuildIconGroup() {
|
getOrBuildIconGroup(): Group {
|
||||||
if (!$defined(this._iconsGroup)) {
|
if (!$defined(this._iconsGroup)) {
|
||||||
this._iconsGroup = this._buildIconGroup();
|
this._iconsGroup = this._buildIconGroup();
|
||||||
const group = this.get2DElement();
|
const group = this.get2DElement();
|
||||||
@ -341,7 +342,7 @@ abstract class Topic extends NodeGraph {
|
|||||||
* @param {mindplot.model.FeatureModel} featureModel
|
* @param {mindplot.model.FeatureModel} featureModel
|
||||||
* @return {mindplot.Icon} the icon corresponding to the feature model
|
* @return {mindplot.Icon} the icon corresponding to the feature model
|
||||||
*/
|
*/
|
||||||
addFeature(featureModel) {
|
addFeature(featureModel: FeatureModel): Icon {
|
||||||
const iconGroup = this.getOrBuildIconGroup();
|
const iconGroup = this.getOrBuildIconGroup();
|
||||||
this.closeEditors();
|
this.closeEditors();
|
||||||
|
|
||||||
@ -360,13 +361,13 @@ abstract class Topic extends NodeGraph {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
findFeatureById(id) {
|
findFeatureById(id: number) {
|
||||||
const model = this.getModel();
|
const model = this.getModel();
|
||||||
return model.findFeatureById(id);
|
return model.findFeatureById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
removeFeature(featureModel) {
|
removeFeature(featureModel: FeatureModel): void {
|
||||||
$assert(featureModel, 'featureModel could not be null');
|
$assert(featureModel, 'featureModel could not be null');
|
||||||
|
|
||||||
// Removing the icon from MODEL
|
// Removing the icon from MODEL
|
||||||
@ -382,21 +383,21 @@ abstract class Topic extends NodeGraph {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
addRelationship(relationship) {
|
addRelationship(relationship: Relationship) {
|
||||||
this._relationships.push(relationship);
|
this._relationships.push(relationship);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
deleteRelationship(relationship) {
|
deleteRelationship(relationship: Rect) {
|
||||||
this._relationships = this._relationships.filter((r) => r !== relationship);
|
this._relationships = this._relationships.filter((r) => r !== relationship);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
getRelationships() {
|
getRelationships(): Relationship[] {
|
||||||
return this._relationships;
|
return this._relationships;
|
||||||
}
|
}
|
||||||
|
|
||||||
_buildTextShape(readOnly): Text {
|
protected _buildTextShape(readOnly: boolean): Text {
|
||||||
const result = new Text();
|
const result = new Text();
|
||||||
const family = this.getFontFamily();
|
const family = this.getFontFamily();
|
||||||
const size = this.getFontSize();
|
const size = this.getFontSize();
|
||||||
@ -420,7 +421,7 @@ abstract class Topic extends NodeGraph {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
setFontFamily(value, updateModel) {
|
setFontFamily(value: string, updateModel?: boolean) {
|
||||||
const textShape = this.getTextShape();
|
const textShape = this.getTextShape();
|
||||||
textShape.setFontName(value);
|
textShape.setFontName(value);
|
||||||
if ($defined(updateModel) && updateModel) {
|
if ($defined(updateModel) && updateModel) {
|
||||||
@ -431,7 +432,7 @@ abstract class Topic extends NodeGraph {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
setFontSize(value, updateModel) {
|
setFontSize(value: number, updateModel?: boolean) {
|
||||||
const textShape = this.getTextShape();
|
const textShape = this.getTextShape();
|
||||||
textShape.setSize(value);
|
textShape.setSize(value);
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ export default class RestClient implements Client {
|
|||||||
.put(
|
.put(
|
||||||
`${this.baseUrl}/c/restful/maps/${id}/collabs/`,
|
`${this.baseUrl}/c/restful/maps/${id}/collabs/`,
|
||||||
{
|
{
|
||||||
messasge: message,
|
message: message,
|
||||||
collaborations: permissions,
|
collaborations: permissions,
|
||||||
},
|
},
|
||||||
{ headers: { 'Content-Type': 'application/json' } }
|
{ headers: { 'Content-Type': 'application/json' } }
|
||||||
|
@ -58,9 +58,9 @@ const ShareDialog = ({ mapId, onClose }: SimpleDialogProps): React.ReactElement
|
|||||||
|
|
||||||
const addMutation = useMutation(
|
const addMutation = useMutation(
|
||||||
(model: ShareModel) => {
|
(model: ShareModel) => {
|
||||||
const emails = model.emails.split("'");
|
const emails = model.emails.split(',');
|
||||||
const permissions = emails.map((email) => {
|
const permissions = emails.map((email: string) => {
|
||||||
return { email: email, role: model.role };
|
return { email: email.replace(/\s/g, ''), role: model.role };
|
||||||
});
|
});
|
||||||
return client.addMapPermissions(mapId, model.message, permissions);
|
return client.addMapPermissions(mapId, model.message, permissions);
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user