Initial dev repository
[kcls-web.git] / opac / skin / craftsman / js / container.js
diff --git a/opac/skin/craftsman/js/container.js b/opac/skin/craftsman/js/container.js
new file mode 100644 (file)
index 0000000..c8f1028
--- /dev/null
@@ -0,0 +1,69 @@
+
+function containerDoRequest( req, callback, args ) {
+
+       if( callback ) {
+               req.callback( callback );
+               req.request.args = args;
+               req.send();
+               return null;
+       }
+
+       req.send(true); 
+       return req.result();
+}
+
+
+function containerFetchAll( callback, args ) {
+       var req = new Request( 
+               FETCH_CONTAINERS, G.user.session, G.user.id(), 'biblio', 'bookbag' );
+       return containerDoRequest( req, callback, args );
+}
+
+function containerFlesh( id, callback, args ) {
+       var req = new Request( FLESH_CONTAINER, G.user.session, 'biblio', id );
+       return containerDoRequest( req, callback, args );
+}
+
+function containerDelete( id, callback, args ) {
+       var req = new Request( DELETE_CONTAINER, G.user.session, 'biblio', id );
+       return containerDoRequest(req, callback, args );
+}
+
+
+function containerCreate( name, pub, callback, args ) {
+
+    fieldmapper.IDL.load(['cbreb']);
+       var container = new cbreb();
+       container.btype('bookbag');
+       container.owner( G.user.id() );
+       container.name( name );
+       if(pub) container.pub('t');
+       else container.pub('f');
+
+       var req = new Request( 
+               CREATE_CONTAINER, G.user.session, 'biblio', container );
+       return containerDoRequest( req, callback, args );
+}
+
+function containerUpdate( container, callback, args ) {
+       var req = new Request(UPDATE_CONTAINER, G.user.session, 'biblio', container);
+       return containerDoRequest(req, callback, args);
+}
+
+function containerCreateItem( containerId, target, callback, args ) {
+
+    fieldmapper.IDL.load(['cbrebi']);
+       var item = new cbrebi();
+       item.target_biblio_record_entry(target);
+       item.bucket(containerId);
+
+       var req = new Request( CREATE_CONTAINER_ITEM, 
+               G.user.session, 'biblio', item );
+
+       return containerDoRequest( req, callback, args );
+}
+
+function containerRemoveItem( id, callback, args ) {
+       var req = new Request( DELETE_CONTAINER_ITEM, G.user.session, 'biblio', id );
+       return containerDoRequest( req, callback, args );
+}