| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- define([
- 'base/js/namespace',
- 'jquery'
- ], function(
- Jupyter,
- $
- ) {
- var mod_name = "mickaSearch";
- var log_prefix = '[' + mod_name + '] ';
- var cfg = {
- 'window_display': false,
- 'csw_url': 'https://hub.lesprojekt.cz/micka/micka2/csw/',
- 'proxy_url': ''
- };
- var read_config = function () {
- var config = IPython.notebook.config;
- for (var key in cfg) {
- if (config.data.mickaSearch.hasOwnProperty(key))
- cfg[key] = config.data.mickaSearch[key];
- }
- };
- var fetch_metatada = function (search_params) {
- return fetch(`${cfg.proxy_url}${cfg.csw_url}${search_params}`);
- };
- var initialize = function () {
- read_config();
- var handler = function () {
- mdata = fetch_metatada('?request=GetRecords&query=&format=application/json&MaxRecords=9999&StartPosition=&sortby=title%3AA&language=eng&outputSchema=http://www.w3.org/2005/Atom');
- mdata.then(response => response.json())
- .then(arrayOfMetadata => {
- console.log(arrayOfMetadata);
- alert(arrayOfMetadata.records[0].id);
- })
- .catch(error => {
- console.log(error);
- });
- };
- var action = {
- icon: 'fa-search', // a font-awesome class used on buttons, etc
- help : 'Micka Search',
- help_index : 'zz',
- label: 'Micka',
- handler : handler
- };
- var prefix = 'micka_search';
- var action_name = 'micka-search';
- var full_action_name = Jupyter.actions.register(action, action_name, prefix);
- Jupyter.toolbar.add_buttons_group([full_action_name]);
- console.log(log_prefix + 'button added');
- }
- var load_ipython_extension = function() {
- return IPython.notebook.config.loaded.then(initialize);
- };
- return {
- load_ipython_extension: load_ipython_extension
- };
- });
|