| | |
| | var sharePointPlugin = undefined; |
| |
|
| | function onLoad() { |
| | |
| | } |
| |
|
| |
|
| | |
| | |
| | |
| | |
| | |
| | function getSharePointPlugin() { |
| | if( sharePointPlugin !== undefined ) { |
| | return sharePointPlugin; |
| | } |
| | sharePointPlugin = null; |
| |
|
| | var plugin = document.getElementById("winFirefoxPlugin"); |
| |
|
| | if ( plugin && typeof plugin.EditDocument === "function" ) { |
| | window.console && console.log("Using embedded custom SharePoint plugin."); |
| | sharePointPlugin = plugin; |
| | } else if( "ActiveXObject" in window ){ |
| | plugin = null; |
| | try { |
| | plugin = new ActiveXObject("SharePoint.OpenDocuments.3"); |
| | } catch(e) { |
| | try { |
| | plugin = new ActiveXObject("SharePoint.OpenDocuments.2"); |
| | } catch(e2) { |
| | try { |
| | plugin = new ActiveXObject("SharePoint.OpenDocuments.1"); |
| | } catch(e3) { |
| | window.console && console.warn("Could not create ActiveXObject('SharePoint.OpenDocuments'): (requires IE <= 11 and matching security settings."); |
| | } |
| | } |
| | } |
| | if( plugin ){ |
| | window.console && console.log("Using native SharePoint plugin."); |
| | sharePointPlugin = plugin; |
| | } |
| | } |
| | return sharePointPlugin; |
| | } |
| |
|
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | function openWebDavDocument(opts) { |
| | var ofe_link = opts.ofe + opts.href, |
| | url = opts.href; |
| |
|
| | var plugin = getSharePointPlugin(); |
| | var res = false; |
| |
|
| | if( plugin ) { |
| | try { |
| | res = plugin.EditDocument(url); |
| | if( res === false ) { |
| | window.console && console.warn("SharePoint plugin.EditDocument(" + url + ") returned false"); |
| | } |
| | } catch(e) { |
| | window.console && console.warn("SharePoint plugin.EditDocument(" + url + ") raised an exception", e); |
| | } |
| | } |
| | if ( res === false ) { |
| | if( ofe_link ) { |
| | window.console && console.log("Could not use SharePoint plugin: trying " + ofe_link); |
| | window.open(ofe_link, "_self"); |
| | res = true; |
| | } |
| | } |
| | return res; |
| | } |
| |
|
| |
|
| | |
| | |
| | |
| | function onClickTable(event) { |
| | var target = event.target || event.srcElement, |
| | opts = { |
| | href: target.href, |
| | ofe: target.getAttribute("data-ofe") |
| | }; |
| |
|
| | if( target.className === "msoffice" ){ |
| | if( openWebDavDocument(opts) ){ |
| | |
| | return false; |
| | } |
| | } |
| | } |