Changed itemTypeFields schema to support default show/hide setting for fields in particular item types

Updated item type manager to support changing default show/hide
This commit is contained in:
Dan Stillman 2006-08-26 10:35:47 +00:00
parent 1ac0c8e9a3
commit bec5e78417
5 changed files with 206 additions and 169 deletions

View File

@ -0,0 +1,3 @@
listitem[isHidden=true] {
color:lightblue;
}

View File

@ -3,6 +3,7 @@ var Scholar_ItemTypeManager = new function(){
this.handleTypeSelect = handleTypeSelect; this.handleTypeSelect = handleTypeSelect;
this.addFieldToType = addFieldToType; this.addFieldToType = addFieldToType;
this.removeFieldFromType = removeFieldFromType; this.removeFieldFromType = removeFieldFromType;
this.handleShowHide = handleShowHide;
this.moveSelectedFieldUp = moveSelectedFieldUp; this.moveSelectedFieldUp = moveSelectedFieldUp;
this.moveSelectedFieldDown = moveSelectedFieldDown; this.moveSelectedFieldDown = moveSelectedFieldDown;
this.handleAddType = handleAddType; this.handleAddType = handleAddType;
@ -31,13 +32,8 @@ var Scholar_ItemTypeManager = new function(){
var types = Scholar.ItemTypes.getTypes(); var types = Scholar.ItemTypes.getTypes();
while (_typesList.hasChildNodes){ while (_typesList.getRowCount()){
if (_typesList.lastChild.tagName=='listitem'){ _typesList.removeItemAt(0);
_typesList.removeChild(_typesList.lastChild);
}
else {
break;
}
} }
for (var i in types){ for (var i in types){
@ -84,8 +80,8 @@ var Scholar_ItemTypeManager = new function(){
+ "WHERE itemTypeID=?"; + "WHERE itemTypeID=?";
var nextIndex = Scholar.DB.valueQuery(sql, [_getCurrentTypeID()]); var nextIndex = Scholar.DB.valueQuery(sql, [_getCurrentTypeID()]);
var sql = "INSERT INTO itemTypeFields VALUES (?,?,?)"; var sql = "INSERT INTO itemTypeFields VALUES (?,?,?,?)";
Scholar.DB.query(sql, [_getCurrentTypeID(), item.value, nextIndex]); Scholar.DB.query(sql, [_getCurrentTypeID(), item.value, null, nextIndex]);
Scholar.DB.commitTransaction(); Scholar.DB.commitTransaction();
@ -112,9 +108,39 @@ var Scholar_ItemTypeManager = new function(){
} }
function handleShowHide(listbox, event){
if (event.keyCode!=event.DOM_VK_RETURN && listbox.selectedIndex>-1){
return true;
}
var typeID = _getCurrentTypeID();
Scholar.DB.beginTransaction();
var sql = "SELECT fieldID FROM fields WHERE fieldName=?";
var fieldID = Scholar.DB.valueQuery(sql, [listbox.selectedItem.label]);
var sql = "SELECT hide FROM itemTypeFields WHERE itemTypeID=? AND "
+ "fieldID=?";
var hidden = Scholar.DB.valueQuery(sql, [typeID, fieldID]);
var sql = "UPDATE itemTypeFields SET hide=? WHERE itemTypeID=? AND "
+ "fieldID=?";
Scholar.DB.query(sql, [hidden ? null : 1, typeID, fieldID]);
Scholar.DB.commitTransaction();
listbox.selectedItem.setAttribute('isHidden', !hidden);
_setStatus();
return true;
}
function moveSelectedFieldUp(){ function moveSelectedFieldUp(){
if (_typeFieldsList.selectedItem){ if (_typeFieldsList.selectedItem){
_moveFieldUp(_typeFieldsList.selectedItem); _moveFieldUp(_typeFieldsList.selectedItem);
_setStatus();
} }
} }
@ -122,6 +148,7 @@ var Scholar_ItemTypeManager = new function(){
function moveSelectedFieldDown(){ function moveSelectedFieldDown(){
if (_typeFieldsList.selectedItem){ if (_typeFieldsList.selectedItem){
_moveFieldDown(_typeFieldsList.selectedItem); _moveFieldDown(_typeFieldsList.selectedItem);
_setStatus();
} }
} }
@ -141,7 +168,7 @@ var Scholar_ItemTypeManager = new function(){
var idCol = 'itemTypeID'; var idCol = 'itemTypeID';
var nameCol = 'typeName'; var nameCol = 'typeName';
var table = 'itemTypes'; var table = 'itemTypes';
var Target = 'Type'; var Target = 'Item type';
} }
else if (target=='field'){ else if (target=='field'){
var existsFunc = _fieldExists; var existsFunc = _fieldExists;
@ -157,18 +184,8 @@ var Scholar_ItemTypeManager = new function(){
var name = box.value; var name = box.value;
_clearStatus();
var status = document.getElementById('add-' + target + '-status');
if (existsFunc(name)){ if (existsFunc(name)){
var str = Target + " '" + name + "' already exists"; _setStatus(Target + " '" + name + "' already exists");
if (!status.hasChildNodes){
status.appendChild(document.createTextNode(str));
}
else {
status.value = str;
}
box.value = ""; box.value = "";
return true; return true;
@ -183,7 +200,7 @@ var Scholar_ItemTypeManager = new function(){
init(); init();
box.value = ""; box.value = "";
status.value = Target + " '" + name + "' added"; _setStatus(Target + " '" + name + "' added");
return true; return true;
} }
@ -197,7 +214,7 @@ var Scholar_ItemTypeManager = new function(){
var type = obj.label; var type = obj.label;
if (!_typeExists(type)){ if (!_typeExists(type)){
Scholar.debug("Type '" + type + "' does not exist", 1); _setStatus("Type '" + type + "' does not exist");
return true; return true;
} }
@ -216,7 +233,7 @@ var Scholar_ItemTypeManager = new function(){
this.init(); this.init();
Scholar.debug("Item type '" + type + "' removed"); _setStatus("Item type '" + type + "' removed");
return true; return true;
} }
@ -253,7 +270,7 @@ var Scholar_ItemTypeManager = new function(){
this.init(); this.init();
Scholar.debug("Field '" + field + "' removed"); _setStatus("Field '" + field + "' removed");
return true; return true;
} }
@ -279,9 +296,9 @@ var Scholar_ItemTypeManager = new function(){
* Populate the listbox of fields used by this item type * Populate the listbox of fields used by this item type
**/ **/
function _populateTypeFieldsList(itemTypeID){ function _populateTypeFieldsList(itemTypeID){
var sql = 'SELECT fieldID FROM itemTypeFields ' var sql = 'SELECT fieldID, hide FROM itemTypeFields '
+ 'WHERE itemTypeID=' + itemTypeID + ' ORDER BY orderIndex'; + 'WHERE itemTypeID=' + itemTypeID + ' ORDER BY orderIndex';
var fields = Scholar.DB.columnQuery(sql); var fields = Scholar.DB.query(sql);
// Clear fields box // Clear fields box
while (_typeFieldsList.getRowCount()){ while (_typeFieldsList.getRowCount()){
@ -289,12 +306,15 @@ var Scholar_ItemTypeManager = new function(){
} }
for (var i in fields){ for (var i in fields){
var item = _typeFieldsList.appendItem(_getFieldName(fields[i]), fields[i]); var item = _typeFieldsList.appendItem(_getFieldName(fields[i]['fieldID']), fields[i]['fieldID']);
item.addEventListener('dblclick', new function(){ item.addEventListener('dblclick', new function(){
return function(){ return function(){
Scholar_ItemTypeManager.removeFieldFromType(this); Scholar_ItemTypeManager.removeFieldFromType(this);
} }
}, true); }, true);
item.setAttribute('isHidden', !!fields[i]['hide']);
} }
} }
@ -303,8 +323,8 @@ var Scholar_ItemTypeManager = new function(){
* Populate the listbox of fields NOT used by this item type * Populate the listbox of fields NOT used by this item type
**/ **/
function _populateFieldsList(itemTypeID){ function _populateFieldsList(itemTypeID){
var sql = "SELECT fieldID FROM fields ORDER BY fieldName COLLATE NOCASE"; var sql = "SELECT fieldID, fieldName FROM fields ORDER BY fieldName COLLATE NOCASE";
var fields = Scholar.DB.columnQuery(sql); var fields = Scholar.DB.query(sql);
// Clear fields box // Clear fields box
while (_fieldsList.getRowCount()){ while (_fieldsList.getRowCount()){
@ -313,7 +333,7 @@ var Scholar_ItemTypeManager = new function(){
// Add all fields to listbox // Add all fields to listbox
for (var i in fields){ for (var i in fields){
var item = _fieldsList.appendItem(_getFieldName(fields[i]), fields[i]); var item = _fieldsList.appendItem(fields[i]['fieldName'], fields[i]['fieldID']);
item.addEventListener('dblclick', new function(){ item.addEventListener('dblclick', new function(){
return function(){ return function(){
Scholar_ItemTypeManager.addFieldToType(this); Scholar_ItemTypeManager.addFieldToType(this);
@ -328,7 +348,9 @@ var Scholar_ItemTypeManager = new function(){
// Remove fields that are already used // Remove fields that are already used
for (var i=0; i<_fieldsList.getRowCount(); i++){ for (var i=0; i<_fieldsList.getRowCount(); i++){
if (!Scholar.inArray(_fieldsList.getItemAtIndex(i).value, unusedFields)){ // N.B. Some values at the end of list can only be accessed via getAttribute()
// in BonEcho, though .value works for all in Minefield
if (!Scholar.inArray(_fieldsList.getItemAtIndex(i).getAttribute('value'), unusedFields)){
_fieldsList.removeItemAt(i); _fieldsList.removeItemAt(i);
i--; i--;
} }
@ -437,9 +459,9 @@ var Scholar_ItemTypeManager = new function(){
} }
function _clearStatus(){ function _setStatus(str){
document.getElementById('add-type-status').value = ''; str = str ? str : '';
document.getElementById('add-field-status').value = ''; document.getElementById('status-line').value = str;
} }
} }

View File

@ -1,5 +1,6 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<?xml-stylesheet href="chrome://scholar/skin/scholar.css" type="text/css"?> <?xml-stylesheet href="chrome://scholar/skin/scholar.css" type="text/css"?>
<?xml-stylesheet href="chrome://scholar/content/admin/itemTypeManager.css" type="text/css"?>
<!DOCTYPE window SYSTEM "chrome://scholar/locale/scholar.dtd"> <!DOCTYPE window SYSTEM "chrome://scholar/locale/scholar.dtd">
<window <window
@ -32,7 +33,7 @@
</listhead> </listhead>
</listbox> </listbox>
<listbox id="item-type-fields-list" onselect=""> <listbox id="item-type-fields-list" onkeypress="Scholar_ItemTypeManager.handleShowHide(this, event)">
<listhead> <listhead>
<listheader label="Used Fields"/> <listheader label="Used Fields"/>
</listhead> </listhead>
@ -43,7 +44,7 @@
<button label="Move down" oncommand="Scholar_ItemTypeManager.moveSelectedFieldDown()" /> <button label="Move down" oncommand="Scholar_ItemTypeManager.moveSelectedFieldDown()" />
</groupbox> </groupbox>
<listbox id="fields-list" onselect="" context="scholar-remove-field-menu"> <listbox id="fields-list" context="scholar-remove-field-menu">
<listhead> <listhead>
<listheader label="Unused Fields"/> <listheader label="Unused Fields"/>
</listhead> </listhead>
@ -51,15 +52,25 @@
</hbox> </hbox>
<hbox style="margin:1em 0 0 .2em"> <hbox style="margin:1em 0 0 .2em">
<hbox style="-moz-box-align:baseline">
<label control="add-type" style="width:7em; text-align:right">Add item type:</label> <label control="add-type" style="width:7em; text-align:right">Add item type:</label>
<textbox id="add-type" onkeypress="return Scholar_ItemTypeManager.handleAddType(this, event)"/> <textbox id="add-type" onkeypress="return Scholar_ItemTypeManager.handleAddType(this, event)"/>
<label id="add-type-status" style="color:red"/>
</hbox> </hbox>
<hbox style="margin:1em 0 0 .2em"> <hbox style="-moz-box-align:baseline">
<label control="add-field" style="width:7em; text-align:right">Add field:</label> <label control="add-field" style="width:7em; text-align:right">Add field:</label>
<textbox id="add-field" onkeypress="return Scholar_ItemTypeManager.handleAddField(this, event)"/> <textbox id="add-field" onkeypress="return Scholar_ItemTypeManager.handleAddField(this, event)"/>
<label id="add-field-status" style="color:red"/>
</hbox> </hbox>
</hbox>
<label style="margin:1em 0; color:red" id="status-line"></label>
<description style="font-size:small; margin:.5em 0">
Double-click a field to add it to or remove it from the currently selected item type.
</description>
<description style="font-size:small; margin:.5em 0">
Hit Return on a mapped field to toggle its default visibility. (Light blue fields are hidden.)
</description>
</vbox> </vbox>
</window> </window>

View File

@ -401,7 +401,7 @@ Scholar.Schema = new function(){
// //
// Change this value to match the schema version // Change this value to match the schema version
// //
var toVersion = 42; var toVersion = 43;
if (toVersion != _getSchemaSQLVersion()){ if (toVersion != _getSchemaSQLVersion()){
throw('Schema version does not match version in _migrateSchema()'); throw('Schema version does not match version in _migrateSchema()');
@ -425,7 +425,7 @@ Scholar.Schema = new function(){
} }
} }
if (i==42){ if (i==43){
// Clear storage directory // Clear storage directory
var file = Scholar.getStorageDirectory(); var file = Scholar.getStorageDirectory();
if (file.exists()){ if (file.exists()){

View File

@ -1,4 +1,4 @@
-- 42 -- 43
DROP TABLE IF EXISTS version; DROP TABLE IF EXISTS version;
CREATE TABLE version ( CREATE TABLE version (
@ -43,11 +43,12 @@
FOREIGN KEY (fieldFormatID) REFERENCES fieldFormat(fieldFormatID) FOREIGN KEY (fieldFormatID) REFERENCES fieldFormat(fieldFormatID)
); );
-- Defines valid fields for each itemType and their display order -- Defines valid fields for each itemType, their display order, and their default visibility
DROP TABLE IF EXISTS itemTypeFields; DROP TABLE IF EXISTS itemTypeFields;
CREATE TABLE itemTypeFields ( CREATE TABLE itemTypeFields (
itemTypeID INT, itemTypeID INT,
fieldID INT, fieldID INT,
hide INT,
orderIndex INT, orderIndex INT,
PRIMARY KEY (itemTypeID, fieldID), PRIMARY KEY (itemTypeID, fieldID),
FOREIGN KEY (itemTypeID) REFERENCES itemTypes(itemTypeID), FOREIGN KEY (itemTypeID) REFERENCES itemTypes(itemTypeID),
@ -327,126 +328,126 @@
INSERT INTO fields VALUES (29,'seriesText',NULL); INSERT INTO fields VALUES (29,'seriesText',NULL);
INSERT INTO fields VALUES (30,'seriesNumber',NULL); INSERT INTO fields VALUES (30,'seriesNumber',NULL);
INSERT INTO "itemTypeFields" VALUES(2, 1, 14); INSERT INTO "itemTypeFields" VALUES(2, 1, NULL, 14);
INSERT INTO "itemTypeFields" VALUES(2, 2, 13); INSERT INTO "itemTypeFields" VALUES(2, 2, NULL, 13);
INSERT INTO "itemTypeFields" VALUES(2, 3, 1); INSERT INTO "itemTypeFields" VALUES(2, 3, NULL, 1);
INSERT INTO "itemTypeFields" VALUES(2, 4, 3); INSERT INTO "itemTypeFields" VALUES(2, 4, NULL, 3);
INSERT INTO "itemTypeFields" VALUES(2, 5, 4); INSERT INTO "itemTypeFields" VALUES(2, 5, NULL, 4);
INSERT INTO "itemTypeFields" VALUES(2, 6, 5); INSERT INTO "itemTypeFields" VALUES(2, 6, NULL, 5);
INSERT INTO "itemTypeFields" VALUES(2, 7, 6); INSERT INTO "itemTypeFields" VALUES(2, 7, NULL, 6);
INSERT INTO "itemTypeFields" VALUES(2, 8, 7); INSERT INTO "itemTypeFields" VALUES(2, 8, NULL, 7);
INSERT INTO "itemTypeFields" VALUES(2, 10, 9); INSERT INTO "itemTypeFields" VALUES(2, 10, NULL, 9);
INSERT INTO "itemTypeFields" VALUES(2, 11, 10); INSERT INTO "itemTypeFields" VALUES(2, 11, NULL, 10);
INSERT INTO "itemTypeFields" VALUES(4, 1, 15); INSERT INTO "itemTypeFields" VALUES(4, 1, NULL, 15);
INSERT INTO "itemTypeFields" VALUES(4, 2, 14); INSERT INTO "itemTypeFields" VALUES(4, 2, NULL, 14);
INSERT INTO "itemTypeFields" VALUES(4, 12, 1); INSERT INTO "itemTypeFields" VALUES(4, 12, NULL, 1);
INSERT INTO "itemTypeFields" VALUES(4, 4, 2); INSERT INTO "itemTypeFields" VALUES(4, 4, NULL, 2);
INSERT INTO "itemTypeFields" VALUES(4, 5, 3); INSERT INTO "itemTypeFields" VALUES(4, 5, NULL, 3);
INSERT INTO "itemTypeFields" VALUES(4, 10, 4); INSERT INTO "itemTypeFields" VALUES(4, 10, NULL, 4);
INSERT INTO "itemTypeFields" VALUES(4, 13, 11); INSERT INTO "itemTypeFields" VALUES(4, 13, NULL, 11);
INSERT INTO "itemTypeFields" VALUES(3, 1, 15); INSERT INTO "itemTypeFields" VALUES(3, 1, NULL, 15);
INSERT INTO "itemTypeFields" VALUES(3, 2, 14); INSERT INTO "itemTypeFields" VALUES(3, 2, NULL, 14);
INSERT INTO "itemTypeFields" VALUES(3, 12, 1); INSERT INTO "itemTypeFields" VALUES(3, 12, NULL, 1);
INSERT INTO "itemTypeFields" VALUES(3, 3, 2); INSERT INTO "itemTypeFields" VALUES(3, 3, NULL, 2);
INSERT INTO "itemTypeFields" VALUES(3, 4, 4); INSERT INTO "itemTypeFields" VALUES(3, 4, NULL, 4);
INSERT INTO "itemTypeFields" VALUES(3, 5, 5); INSERT INTO "itemTypeFields" VALUES(3, 5, NULL, 5);
INSERT INTO "itemTypeFields" VALUES(3, 6, 6); INSERT INTO "itemTypeFields" VALUES(3, 6, NULL, 6);
INSERT INTO "itemTypeFields" VALUES(3, 7, 7); INSERT INTO "itemTypeFields" VALUES(3, 7, NULL, 7);
INSERT INTO "itemTypeFields" VALUES(3, 8, 8); INSERT INTO "itemTypeFields" VALUES(3, 8, NULL, 8);
INSERT INTO "itemTypeFields" VALUES(3, 10, 10); INSERT INTO "itemTypeFields" VALUES(3, 10, NULL, 10);
INSERT INTO "itemTypeFields" VALUES(3, 11, 11); INSERT INTO "itemTypeFields" VALUES(3, 11, NULL, 11);
INSERT INTO "itemTypeFields" VALUES(5, 1, 8); INSERT INTO "itemTypeFields" VALUES(5, 1, NULL, 8);
INSERT INTO "itemTypeFields" VALUES(5, 2, 7); INSERT INTO "itemTypeFields" VALUES(5, 2, NULL, 7);
INSERT INTO "itemTypeFields" VALUES(5, 12, 1); INSERT INTO "itemTypeFields" VALUES(5, 12, NULL, 1);
INSERT INTO "itemTypeFields" VALUES(5, 14, 2); INSERT INTO "itemTypeFields" VALUES(5, 14, NULL, 2);
INSERT INTO "itemTypeFields" VALUES(5, 10, 3); INSERT INTO "itemTypeFields" VALUES(5, 10, NULL, 3);
INSERT INTO "itemTypeFields" VALUES(5, 13, 4); INSERT INTO "itemTypeFields" VALUES(5, 13, NULL, 4);
INSERT INTO "itemTypeFields" VALUES(6, 1, 10); INSERT INTO "itemTypeFields" VALUES(6, 1, NULL, 10);
INSERT INTO "itemTypeFields" VALUES(6, 2, 9); INSERT INTO "itemTypeFields" VALUES(6, 2, NULL, 9);
INSERT INTO "itemTypeFields" VALUES(6, 12, 1); INSERT INTO "itemTypeFields" VALUES(6, 12, NULL, 1);
INSERT INTO "itemTypeFields" VALUES(6, 6, 2); INSERT INTO "itemTypeFields" VALUES(6, 6, NULL, 2);
INSERT INTO "itemTypeFields" VALUES(6, 14, 3); INSERT INTO "itemTypeFields" VALUES(6, 14, NULL, 3);
INSERT INTO "itemTypeFields" VALUES(6, 15, 4); INSERT INTO "itemTypeFields" VALUES(6, 15, NULL, 4);
INSERT INTO "itemTypeFields" VALUES(6, 10, 5); INSERT INTO "itemTypeFields" VALUES(6, 10, NULL, 5);
INSERT INTO "itemTypeFields" VALUES(6, 13, 6); INSERT INTO "itemTypeFields" VALUES(6, 13, NULL, 6);
INSERT INTO "itemTypeFields" VALUES(7, 1, 8); INSERT INTO "itemTypeFields" VALUES(7, 1, NULL, 8);
INSERT INTO "itemTypeFields" VALUES(7, 2, 7); INSERT INTO "itemTypeFields" VALUES(7, 2, NULL, 7);
INSERT INTO "itemTypeFields" VALUES(7, 8, 1); INSERT INTO "itemTypeFields" VALUES(7, 8, NULL, 1);
INSERT INTO "itemTypeFields" VALUES(7, 16, 2); INSERT INTO "itemTypeFields" VALUES(7, 16, NULL, 2);
INSERT INTO "itemTypeFields" VALUES(7, 10, 4); INSERT INTO "itemTypeFields" VALUES(7, 10, NULL, 4);
INSERT INTO "itemTypeFields" VALUES(7, 17, 6); INSERT INTO "itemTypeFields" VALUES(7, 17, NULL, 6);
INSERT INTO "itemTypeFields" VALUES(8, 2, 6); INSERT INTO "itemTypeFields" VALUES(8, 2, NULL, 6);
INSERT INTO "itemTypeFields" VALUES(8, 24, 1); INSERT INTO "itemTypeFields" VALUES(8, 24, NULL, 1);
INSERT INTO "itemTypeFields" VALUES(8, 14, 2); INSERT INTO "itemTypeFields" VALUES(8, 14, NULL, 2);
INSERT INTO "itemTypeFields" VALUES(8, 19, 3); INSERT INTO "itemTypeFields" VALUES(8, 19, NULL, 3);
INSERT INTO "itemTypeFields" VALUES(9, 1, 8); INSERT INTO "itemTypeFields" VALUES(9, 1, NULL, 8);
INSERT INTO "itemTypeFields" VALUES(9, 2, 7); INSERT INTO "itemTypeFields" VALUES(9, 2, NULL, 7);
INSERT INTO "itemTypeFields" VALUES(9, 24, 1); INSERT INTO "itemTypeFields" VALUES(9, 24, NULL, 1);
INSERT INTO "itemTypeFields" VALUES(9, 7, 2); INSERT INTO "itemTypeFields" VALUES(9, 7, NULL, 2);
INSERT INTO "itemTypeFields" VALUES(9, 14, 3); INSERT INTO "itemTypeFields" VALUES(9, 14, NULL, 3);
INSERT INTO "itemTypeFields" VALUES(9, 19, 4); INSERT INTO "itemTypeFields" VALUES(9, 19, NULL, 4);
INSERT INTO "itemTypeFields" VALUES(10, 2, 6); INSERT INTO "itemTypeFields" VALUES(10, 2, NULL, 6);
INSERT INTO "itemTypeFields" VALUES(10, 14, 1); INSERT INTO "itemTypeFields" VALUES(10, 14, NULL, 1);
INSERT INTO "itemTypeFields" VALUES(10, 20, 2); INSERT INTO "itemTypeFields" VALUES(10, 20, NULL, 2);
INSERT INTO "itemTypeFields" VALUES(10, 19, 3); INSERT INTO "itemTypeFields" VALUES(10, 19, NULL, 3);
INSERT INTO "itemTypeFields" VALUES(11, 1, 6); INSERT INTO "itemTypeFields" VALUES(11, 1, NULL, 6);
INSERT INTO "itemTypeFields" VALUES(11, 2, 5); INSERT INTO "itemTypeFields" VALUES(11, 2, NULL, 5);
INSERT INTO "itemTypeFields" VALUES(11, 21, 1); INSERT INTO "itemTypeFields" VALUES(11, 21, NULL, 1);
INSERT INTO "itemTypeFields" VALUES(12, 1, 6); INSERT INTO "itemTypeFields" VALUES(12, 1, NULL, 6);
INSERT INTO "itemTypeFields" VALUES(12, 2, 5); INSERT INTO "itemTypeFields" VALUES(12, 2, NULL, 5);
INSERT INTO "itemTypeFields" VALUES(12, 24, 1); INSERT INTO "itemTypeFields" VALUES(12, 24, NULL, 1);
INSERT INTO "itemTypeFields" VALUES(12, 14, 2); INSERT INTO "itemTypeFields" VALUES(12, 14, NULL, 2);
INSERT INTO "itemTypeFields" VALUES(13, 1, 5); INSERT INTO "itemTypeFields" VALUES(13, 1, NULL, 5);
INSERT INTO "itemTypeFields" VALUES(13, 2, 4); INSERT INTO "itemTypeFields" VALUES(13, 2, NULL, 4);
INSERT INTO "itemTypeFields" VALUES(12, 18, 3); INSERT INTO "itemTypeFields" VALUES(12, 18, NULL, 3);
INSERT INTO "itemTypeFields" VALUES(2, 18, 11); INSERT INTO "itemTypeFields" VALUES(2, 18, NULL, 11);
INSERT INTO "itemTypeFields" VALUES(3, 18, 12); INSERT INTO "itemTypeFields" VALUES(3, 18, NULL, 12);
INSERT INTO "itemTypeFields" VALUES(11, 18, 3); INSERT INTO "itemTypeFields" VALUES(11, 18, NULL, 3);
INSERT INTO "itemTypeFields" VALUES(12, 17, 4); INSERT INTO "itemTypeFields" VALUES(12, 17, NULL, 4);
INSERT INTO "itemTypeFields" VALUES(12, 22, 7); INSERT INTO "itemTypeFields" VALUES(12, 22, NULL, 7);
INSERT INTO "itemTypeFields" VALUES(2, 17, 12); INSERT INTO "itemTypeFields" VALUES(2, 17, NULL, 12);
INSERT INTO "itemTypeFields" VALUES(2, 22, 15); INSERT INTO "itemTypeFields" VALUES(2, 22, NULL, 15);
INSERT INTO "itemTypeFields" VALUES(3, 17, 13); INSERT INTO "itemTypeFields" VALUES(3, 17, NULL, 13);
INSERT INTO "itemTypeFields" VALUES(3, 22, 16); INSERT INTO "itemTypeFields" VALUES(3, 22, NULL, 16);
INSERT INTO "itemTypeFields" VALUES(11, 17, 4); INSERT INTO "itemTypeFields" VALUES(11, 17, NULL, 4);
INSERT INTO "itemTypeFields" VALUES(11, 22, 7); INSERT INTO "itemTypeFields" VALUES(11, 22, NULL, 7);
INSERT INTO "itemTypeFields" VALUES(10, 17, 5); INSERT INTO "itemTypeFields" VALUES(10, 17, NULL, 5);
INSERT INTO "itemTypeFields" VALUES(10, 18, 4); INSERT INTO "itemTypeFields" VALUES(10, 18, NULL, 4);
INSERT INTO "itemTypeFields" VALUES(10, 22, 8); INSERT INTO "itemTypeFields" VALUES(10, 22, NULL, 8);
INSERT INTO "itemTypeFields" VALUES(4, 17, 13); INSERT INTO "itemTypeFields" VALUES(4, 17, NULL, 13);
INSERT INTO "itemTypeFields" VALUES(4, 18, 12); INSERT INTO "itemTypeFields" VALUES(4, 18, NULL, 12);
INSERT INTO "itemTypeFields" VALUES(4, 22, 16); INSERT INTO "itemTypeFields" VALUES(4, 22, NULL, 16);
INSERT INTO "itemTypeFields" VALUES(8, 17, 5); INSERT INTO "itemTypeFields" VALUES(8, 17, NULL, 5);
INSERT INTO "itemTypeFields" VALUES(8, 18, 4); INSERT INTO "itemTypeFields" VALUES(8, 18, NULL, 4);
INSERT INTO "itemTypeFields" VALUES(8, 22, 8); INSERT INTO "itemTypeFields" VALUES(8, 22, NULL, 8);
INSERT INTO "itemTypeFields" VALUES(5, 17, 6); INSERT INTO "itemTypeFields" VALUES(5, 17, NULL, 6);
INSERT INTO "itemTypeFields" VALUES(5, 18, 5); INSERT INTO "itemTypeFields" VALUES(5, 18, NULL, 5);
INSERT INTO "itemTypeFields" VALUES(5, 22, 9); INSERT INTO "itemTypeFields" VALUES(5, 22, NULL, 9);
INSERT INTO "itemTypeFields" VALUES(9, 17, 6); INSERT INTO "itemTypeFields" VALUES(9, 17, NULL, 6);
INSERT INTO "itemTypeFields" VALUES(9, 18, 5); INSERT INTO "itemTypeFields" VALUES(9, 18, NULL, 5);
INSERT INTO "itemTypeFields" VALUES(9, 22, 9); INSERT INTO "itemTypeFields" VALUES(9, 22, NULL, 9);
INSERT INTO "itemTypeFields" VALUES(6, 17, 8); INSERT INTO "itemTypeFields" VALUES(6, 17, NULL, 8);
INSERT INTO "itemTypeFields" VALUES(6, 18, 7); INSERT INTO "itemTypeFields" VALUES(6, 18, NULL, 7);
INSERT INTO "itemTypeFields" VALUES(6, 22, 11); INSERT INTO "itemTypeFields" VALUES(6, 22, NULL, 11);
INSERT INTO "itemTypeFields" VALUES(7, 18, 5); INSERT INTO "itemTypeFields" VALUES(7, 18, NULL, 5);
INSERT INTO "itemTypeFields" VALUES(7, 22, 9); INSERT INTO "itemTypeFields" VALUES(7, 22, NULL, 9);
INSERT INTO "itemTypeFields" VALUES(13, 22, 6); INSERT INTO "itemTypeFields" VALUES(13, 22, NULL, 6);
INSERT INTO "itemTypeFields" VALUES(4, 25, 9); INSERT INTO "itemTypeFields" VALUES(4, 25, NULL, 9);
INSERT INTO "itemTypeFields" VALUES(4, 26, 10); INSERT INTO "itemTypeFields" VALUES(4, 26, NULL, 10);
INSERT INTO "itemTypeFields" VALUES(13, 27, 3); INSERT INTO "itemTypeFields" VALUES(13, 27, NULL, 3);
INSERT INTO "itemTypeFields" VALUES(13, 14, 2); INSERT INTO "itemTypeFields" VALUES(13, 14, NULL, 2);
INSERT INTO "itemTypeFields" VALUES(4, 14, 5); INSERT INTO "itemTypeFields" VALUES(4, 14, NULL, 5);
INSERT INTO "itemTypeFields" VALUES(2, 14, 8); INSERT INTO "itemTypeFields" VALUES(2, 14, NULL, 8);
INSERT INTO "itemTypeFields" VALUES(3, 14, 9); INSERT INTO "itemTypeFields" VALUES(3, 14, NULL, 9);
INSERT INTO "itemTypeFields" VALUES(11, 14, 2); INSERT INTO "itemTypeFields" VALUES(11, 14, NULL, 2);
INSERT INTO "itemTypeFields" VALUES(7, 14, 3); INSERT INTO "itemTypeFields" VALUES(7, 14, NULL, 3);
INSERT INTO "itemTypeFields" VALUES(2, 30, 2); INSERT INTO "itemTypeFields" VALUES(2, 30, NULL, 2);
INSERT INTO "itemTypeFields" VALUES(3, 30, 3); INSERT INTO "itemTypeFields" VALUES(3, 30, NULL, 3);
INSERT INTO "itemTypeFields" VALUES(4, 3, 6); INSERT INTO "itemTypeFields" VALUES(4, 3, NULL, 6);
INSERT INTO "itemTypeFields" VALUES(4, 29, 8); INSERT INTO "itemTypeFields" VALUES(4, 29, NULL, 8);
INSERT INTO "itemTypeFields" VALUES(4, 28, 7); INSERT INTO "itemTypeFields" VALUES(4, 28, NULL, 7);
INSERT INTO "itemTypeFields" VALUES(8, 1, 7); INSERT INTO "itemTypeFields" VALUES(8, 1, NULL, 7);
INSERT INTO "itemTypeFields" VALUES(10, 1, 7); INSERT INTO "itemTypeFields" VALUES(10, 1, NULL, 7);
INSERT INTO "fileTypes" VALUES(1, 'webpage'); INSERT INTO "fileTypes" VALUES(1, 'webpage');
INSERT INTO "fileTypes" VALUES(2, 'image'); INSERT INTO "fileTypes" VALUES(2, 'image');