如何检查不是基于类型而是基于模板名称的jointJS元素

时间:2016-09-16 11:03:59

标签: javascript jquery search jointjs rappid

我希望在Rappid 在Paper 中插入元素时进行检查,如果此元素是Workitem或Activity,但我在Rappid文档中找到的唯一类似检查是:

if (cell.get('type') !== 'link'){//Do something}

检查此元素是否为链接。有没有办法检查不是基于'type'而是基于'name'而不是(其中'name是基本形状的模板名称之一)?

我是指如何检查元素是否为具有模板名称Activity或Workitem的形状?

我可以在我的代码中执行此检查,因为我在创建我的halo时尝试插入一行代码而我不能。(我甚至不能这样做这个cell.set('wi_name', "ACTIVITY");设置一个名为wi_name且名为Activity的检查器字段

2 个答案:

答案 0 :(得分:2)

我用这种方式解决了我的问题:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
    ifstream inputFile;
    float num;
    inputFile.open("numbers.txt");
    inputFile >> num;
    cout << num << endl;
    inputFile >> num;
    cout << num << endl;
    inputFile >> num;
    cout << num << endl;
    inputFile >> num;
    cout << num << endl;
    inputFile >> num;
    cout << num << endl;

    inputFile.close();

    return 0;
}

其中if (cell.get('type') === 'basic.Rect'){} 是基本形状,其名称为模板中所述的basic.RectActivity

答案 1 :(得分:1)

也可以通过对象属性

直接检索该类型
JavaRDD<String> obj = jsc.textFile("<Text File Path>");
JavaRDD<String> obj1 = obj.flatMap(l->{
ArrayList<String> al = new ArrayList();
String[] str = l.split(" ");
for(int i=0;i<str/length;i++) {
    al.add(str[i]);
}
return al.iterator();
});

请注意,如果您要查看if (cell.attributes.type === 'basic.Rect'){} 对象(例如,在extending ElementView to create constraints时的事件中使用ElementView),则需要访问this

model

或者:

if (elem.model.attributes.type === 'basic.Rect'){}