master
Harald Wolff 2019-05-23 13:38:32 +02:00
parent 1deed6f0c2
commit 7cd527e3af
6 changed files with 52 additions and 19 deletions

View File

@ -4,11 +4,13 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>Sky.JS</title> <title>Sky.JS</title>
<link href="jquery-ui.min.css" rel="stylesheet" />
<link href="style.css" rel="stylesheet" /> <link href="style.css" rel="stylesheet" />
<link href="sky.base.css" rel="stylesheet" /> <link href="sky.base.css" rel="stylesheet" />
<link href="sky.tables.css" rel="stylesheet" /> <link href="sky.tables.css" rel="stylesheet" />
<script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery-ui.min.js"></script>
<script type="text/javascript" src="sky.base.js"></script> <script type="text/javascript" src="sky.base.js"></script>
<script type="text/javascript" src="sky.types.js"></script> <script type="text/javascript" src="sky.types.js"></script>
<script type="text/javascript" src="sky.types.reference.js"></script> <script type="text/javascript" src="sky.types.reference.js"></script>
@ -72,6 +74,10 @@
} }
var typePerson = new SKY.prototypes.SKYReferencingType({ var typePerson = new SKY.prototypes.SKYReferencingType({
referencedType: dscPerson, referencedType: dscPerson,
lookup: function(p){ return $.grep( personen, function(i){
return (i.ID.search(p) != -1) || (i.Name.search(p) != -1) || (i.Beruf.search(p) != -1);
}
) }
}); });
var demoDescriptor = { var demoDescriptor = {

7
jquery-ui.min.css vendored 100644

File diff suppressed because one or more lines are too long

13
jquery-ui.min.js vendored 100644

File diff suppressed because one or more lines are too long

View File

@ -57,14 +57,13 @@
var fieldDesc = descriptor.fields[n]; var fieldDesc = descriptor.fields[n];
var skyType = SKY.type(fieldDesc.type); var skyType = SKY.type(fieldDesc.type);
var label = $("<label></label>"); var label = $("<label></label>");
var editor = skyType.editor(); var editor = SKY.prototypes.SKYReferencingType.isPrototypeOf(skyType) ? skyType.selector(fieldDesc.name) : skyType.editor(fieldDesc.name);
label label
.text( fieldDesc.label ? fieldDesc.label : fieldDesc.name ) .text( fieldDesc.label ? fieldDesc.label : fieldDesc.name )
.appendTo(this.fieldset); .appendTo(this.fieldset);
editor editor
.id( fieldDesc.name )
.html().appendTo(this.fieldset); .html().appendTo(this.fieldset);
this.editors[fieldDesc.name] = editor; this.editors[fieldDesc.name] = editor;

View File

@ -117,11 +117,11 @@
SKY.type(name,Object.getPrototypeOf(this)); SKY.type(name,Object.getPrototypeOf(this));
} }
editor(){ editor(id){
return new SKYEditor(); return new SKYEditor().id(id);
} }
selector(){ selector(id){
return null; return null;
} }
@ -141,8 +141,8 @@
super("int"); super("int");
} }
editor(){ editor(id){
return new SKYIntEditor(); return new SKYIntEditor().id(id);
} }
} }
@ -152,8 +152,8 @@
super("ipv4"); super("ipv4");
} }
editor(){ editor(id){
return new SKYEditor("000.000.000.000","^[0-9]([0-9]){0,2}\.[0-9]([0-9]){0,2}\.[0-9]([0-9]){0,2}\.[0-9]([0-9]){0,2}"); return new SKYEditor("000.000.000.000","^[0-9]([0-9]){0,2}\.[0-9]([0-9]){0,2}\.[0-9]([0-9]){0,2}\.[0-9]([0-9]){0,2}").id(id);
} }
} }
@ -163,8 +163,8 @@
super("network4"); super("network4");
} }
editor(){ editor(id){
return new SKYEditor("000.000.000.000/00","^[0-9]([0-9]){0,2}\.[0-9]([0-9]){0,2}\.[0-9]([0-9]){0,2}\.[0-9]([0-9]){0,2}\/[0-9]([0-9]){0,1}$"); return new SKYEditor("000.000.000.000/00","^[0-9]([0-9]){0,2}\.[0-9]([0-9]){0,2}\.[0-9]([0-9]){0,2}\.[0-9]([0-9]){0,2}\/[0-9]([0-9]){0,1}$").id(id);
} }
} }
@ -175,8 +175,8 @@
super("timespan"); super("timespan");
} }
editor(){ editor(id){
return new SKYTimeSpanEditor(); return new SKYTimeSpanEditor().id(id);
} }
render(value){ render(value){

View File

@ -20,12 +20,17 @@
constructor(options){ constructor(options){
super(); super();
var self = this;
this.options = Object.assign({}, referenceSelectorDefaultOptions); this.options = Object.assign({}, referenceSelectorDefaultOptions);
Object.assign(this.options,options); Object.assign(this.options,options);
var html = $('<input type="text">'); var html = $('<input type="text">');
html html
.attr(id,this.options.id); .attr("id",this.options.id)
.autocomplete({
source: function(request, response){ response(self.options.referencedType.lookup(request.term)); },
});
this.html( html ); this.html( html );
} }
@ -45,12 +50,15 @@
} }
editor(){ editor(id){
return new SKY.prototypes.SKYEditor(); return this.selector(id);
} }
selector(){ selector(id){
return null; return new SKYReferenceSelector({
referencedType: this,
id: id,
});
} }
render(value){ return this.options.render(value); } render(value){ return this.options.render(value); }