Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
initialize(...args) {
bindAll(this, 'updateBox');
joint.dia.ElementView.prototype.initialize.apply(this, args);
this.$box = $(template(this.template)());
this.$box.find('span').text(this.model.get('name'));
this.$box.addClass(this.model.get('name'));
// Update the box position whenever the underlying model changes.
this.model.on('change', this.updateBox, this);
this.updateBox();
},
render(...args) {
import bindAll from 'lodash.bindall';
import template from 'lodash.template';
// Custom joint shape representing table/view object
joint.shapes.sqlectron = {};
joint.shapes.sqlectron.Table = joint.shapes.basic.Rect.extend({
defaults: joint.util.deepSupplement({
type: 'sqlectron.Table',
attrs: {
rect: { stroke: 'none', 'fill-opacity': 0 },
},
}, joint.shapes.basic.Rect.prototype.defaults),
});
joint.shapes.sqlectron.TableView = joint.dia.ElementView.extend({
template: '<div class="sqlectron-table"><p><span></span></p></div>',
initialize(...args) {
bindAll(this, 'updateBox');
joint.dia.ElementView.prototype.initialize.apply(this, args);
this.$box = $(template(this.template)());
this.$box.find('span').text(this.model.get('name'));
this.$box.addClass(this.model.get('name'));
// Update the box position whenever the underlying model changes.
this.model.on('change', this.updateBox, this);
this.updateBox();
},
render(...args) {
constructor(props) {
super(props);
this.state = {};
this.graph = new joint.dia.Graph();
}
tableKeys[table].forEach((target) => {
targetIndex = tables.findIndex((t) => t === target.referencedTable);
if (targetIndex !== -1) {
newLink = new joint.dia.Link({
source: { id: currentTable.id },
target: { id: tableShapes[targetIndex].id },
});
newLink.attr({ '.marker-target': { fill: 'yellow', d: 'M 10 0 L 0 5 L 10 10 z' } });
tableLinks.push(newLink);
}
});
});
initialize(...args) {
bindAll(this, 'updateCell');
joint.dia.ElementView.prototype.initialize.apply(this, args);
this.$box = $(template(this.template)());
const keyType = this.model.get('keyType');
const keyColor = keyType === 'PRIMARY KEY' ? 'yellow' : '';
const cellSpanEl = this.$box.find('span');
cellSpanEl.text(this.model.get('name'));
this.$box.addClass(this.model.get('tableName'));
if (keyType) {
cellSpanEl.prepend(`<i class="privacy icon ${keyColor}"></i>`);
} else {
cellSpanEl.css({
paddingLeft: '1.18em',
marginLeft: '0.25rem',
});