Brukerverktøy

Nettstedverktøy


meta

Forskjeller

Her vises forskjeller mellom den valgte versjonen og den nåværende versjonen av dokumentet.

Lenk til denne sammenligningen

Begge sider forrige revisjonForrige revisjon
Neste revisjon
Forrige revisjon
meta [2016/01/06 14:47] – gjenopprettet til en tidligere versjon (2016/01/06 15:44) johnhameta [2016/08/04 16:49] (nåværende versjon) johnha
Linje 10: Linje 10:
 } }
 </style> </style>
 +
 +<script type="text/javascript">
 +
 +jQuery(function($) {
 +
 +  // Highlight targeted row in a table
 +  // (row where the #hash of the url targets an element in the given row)
 +  // Used for "dokumentoversikt"
 +  var target = window.location.hash.replace(/[^a-z0-9\-]/gi, ''); // (remove special chars, protect against XSS)
 +  if (target) {
 +    row = $("table tr").has("#"+target).addClass("target");
 +    // Would be cleaner to specify the following in a css file, but it is done here, in order to keep
 +    // everything in one place
 +    row.find("td").css("background-color", "#ffe");
 +    row.find("th").css("background-color", "#ffc");
 +  }
 +
 +  // Add referrer address to the feedback form
 +  $(".wrap_feedback_form input[value=\"{pagename}\"]").val(document.referrer);
 +
 +  // Hide "Dette er en gammel utgave av dokumentet!" if it is old because
 +  // of the publish-plugin
 +  // See https://github.com/cosmocode/dokuwiki-plugin-publish/issues/16
 +  if(window.location.search.indexOf("rev=") == -1) {
 +    $("#dokuwiki__content p:first:contains('gammel utgave')").hide().next("hr").hide();
 +  }
 +  
 +
 +
 +});
 +
 +
 +/**
 + * Sett opp verktoylinjeknapp for aa oppdatere objektbiblioteket. Tar utgangspunkt i strukturerte data i en tabell paa gjeldende side,
 + * og genererer <data>-tagger for hvert objekt som legges til paa slutten av siden (og erstattes neste gang vertkoyet kjores.
 + */
 +function addBtnActionObjektbibliotek($btn, props, edid) {
 +  $btn.on("click", function() {
 +    var $doc = jQuery("#"+edid);
 +    var raw_data = $doc.val();
 +    var match = raw_data.match(/<WRAP objekt-tabell>((.|[\r\n])*?)<\/WRAP>/)
 +    if(!match) {
 +      alert("Fant ingen objektbibliotek-tabell.");
 +      return;
 +    }
 +    var table = match[1];
 +    var rows = table.split("\n");
 +    var kolonnenavn = ["", "Objekttype_ID", "Prosesskode", "Objektkode", "AutoCad", "Bilder", "Tegninger", "Angivelse", "Beskrivelse", "Kategorier", "F.nr", ""]
 +    var oppdagede_kolonnenavn = rows[1].replace("\r","").replace("\n","").split(/\s*\|\s*/).join(", ")
 +    console.log(rows[1])
 +    console.log(rows[1].replace("\r","").replace("\n",""))
 +    console.log(rows[1].replace("\r","").replace("\n","").split(/\s*\|\s*/))
 +    if(oppdagede_kolonnenavn !=  kolonnenavn.join(", ")) {
 +      alert("Objekt-tabellen har et annet sett med overskrifter enn det forventede. Du må oppdatere objektgeneringsscriptet for å endre kolonnene.\n"
 +            +"\nForventet: " + kolonnenavn.join(", ")
 +            +"\n\nFaktisk: " + oppdagede_kolonnenavn);
 +      return;
 +    }
 +
 +    var output = "<WRAP objektbibliotek-objekter>\n**Alle objekter, i raaformat:**\n";
 +
 +    var prefixList = function(str,prefix,postfix) { if(str == "") return ""; return jQuery.map(str.split(/\s*,\s*/),function(e) {return prefix+e+postfix;}).join(","); };
 +    var count = 0;
 +    for(var i = 2; i < rows.length; i++) {
 +      var row = rows[i].replace("\r","").replace("\n","");
 +      if(row == "") continue;
 +      var cols = row.split(/\s*\|\s*/);
 +      
 +      if(cols[1] == "") continue; // Tom linje. Prosesskode er paakrevd
 +
 +      output += "<data objekt #" + cols[kolonnenavn.indexOf("Objekttype_ID")] + ">\n"
 +              "Objekttype_ID: " + cols[kolonnenavn.indexOf("Objekttype_ID")] + "\n"
 +              "Prosesskode: " + cols[kolonnenavn.indexOf("Prosesskode")] + "\n"
 +              "Objektkode: " + cols[kolonnenavn.indexOf("Objektkode")] + "\n"
 +              "AutoCad [image]*: " + prefixList(cols[kolonnenavn.indexOf("AutoCad")],"objektbibliotek:objekter:","") + "\n"
 +              "Bilder [image]*: " + prefixList(cols[kolonnenavn.indexOf("Bilder")],"objektbibliotek:bilder:","") + "\n"
 +              "Tegninger [image]*: " + prefixList(cols[kolonnenavn.indexOf("Tegninger")],"objektbibliotek:tegninger:","") + "\n"
 +              "Angivelse: " + cols[kolonnenavn.indexOf("Angivelse")] + "\n"
 +              "Beskrivelse: " + cols[kolonnenavn.indexOf("Beskrivelse")] + "\n"
 +              "Kategorier [wiki]: " + jQuery.map(cols[9].split(/\s*,\s*/),function(e) {return "[[objektbibliotek:alle-objekter?kategorier="+e+"|"+e+"]]";}).join(", ") + "\n"
 +              "F.nr: " + cols[kolonnenavn.indexOf("F.nr")] + "\n"
 +             + "</data>\n";
 +      count++;
 +    }
 +
 +    output += "</WRAP>";
 +
 +    if(!raw_data.match(/<WRAP objektbibliotek-objekter>(.|[\r\n])*<\/WRAP>/g)) {
 +      alert("Fant ikke noe sted aa legge data-taggene. Legg til <WRAP objektbibliotek-objekter></WRAP> nederst i dokumentet dersom dette mangler.");
 +      return;
 +    }
 +    new_data = raw_data.replace(/<WRAP objektbibliotek-objekter>(.|[\r\n])*<\/WRAP>/g,output);
 +    if(confirm("Fant objektbibliotek-tabell med " + count + " objekter. Oppdatere objektbibliotek?")) {
 +      $doc.val(new_data);
 +    }
 +  });
 +  return 'objektbibliotekdata';
 +}
 +
 +if (typeof window.toolbar !== 'undefined') {
 +    window.toolbar[window.toolbar.length] = {
 +        type: "Objektbibliotek", // we have a new type that links to the function
 +        title: "Last objektbibliotekdata",
 +          icon: "../../plugins/click/clickme.png"
 +    };
 +}
 +
 +</script>
 </HTML> </HTML>
meta.1452091666.txt.gz · Sist endret: 2016/01/06 14:47 av johnha

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki