Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <HTML>
- <HEAD>
- <TITLE>
- Edit Aenderungsspiegel
- </TITLE>
- </HEAD>
- <BODY>
- <H1>Edit Aenderungsspiegel</H1>
- <INPUT name="button1" type=button value="Edit Table" onclick="ShowTable()">
- <INPUT name="button2" type=button value="Save Table" onclick="WriteTable()">
- <DIV id="AE_Table" class="display" cellspacing="0" width="100%" contenteditable='true'></DIV>
- <DIV ID="mesg"></DIV>
- <DIV ID="errmesg"></DIV>
- <HR>
- <SCRIPT>
- var mGlob = new ActiveXObject ("pfc.MpfcCOMGlobal");
- var session = mGlob.GetProESession();
- function ShowTable ( ) {
- var Table_head = ["Nr.", "Feld", "Datum", "Geaendert", "Genehmigt", "Beschreibung"];
- var array = ArrayFromProETable();
- if (array == null) {
- mesg.innerHTML = "null array";
- return;
- }
- if (array != null) {
- //Create a HTML Table element.
- var table = document.createElement("TABLE");
- table.border = "1";
- //Get the count of columns.
- var columnCount = Table_head.length;
- //Add the header row.
- var row = table.insertRow(-1);
- for (var i = 0; i < columnCount; i++) {
- var headerCell = document.createElement("TH");
- headerCell.innerHTML = Table_head[i];
- row.appendChild(headerCell);
- }
- //Add the data rows.
- for (var i = 0; i < array.length; i++) {
- row = table.insertRow(-1);
- for (var j = 0; j < columnCount; j++) {
- var cell = row.insertCell(-1);
- cell.innerHTML = array[i][j];
- }
- }
- }
- var AE_Table = document.getElementById("AE_Table");
- AE_Table.innerHTML = "";
- AE_Table.appendChild(table);
- }
- function ArrayFromProETable ( ) {
- var mesg = document.getElementById("mesg");
- var errmesg = document.getElementById("errmesg");
- var drawing = null;
- // Get model object and ensure it's a drawing
- //
- try {
- drawing = session.CurrentModel;
- if (drawing == null || drawing.Type != pfcCreate("pfcModelType").MDL_DRAWING) {
- errmesg.innerHTML = "A drawing must be active!";
- return null;
- }
- }
- catch (e) {
- errmesg.innerHTML = "A drawing must be active.";
- return null;
- }
- // Prompt user to select an existing table
- //
- var selections = null;
- var table = null;
- var SelOptions = pfcCreate("pfcSelectionOptions").Create ("dwg_table");
- SelOptions.MaxNumSels = 1;
- try {
- selections = session.Select(SelOptions, null);
- var tabnum = selections.Item(0).SelItem;
- table = drawing.GetTable(tabnum.Id);
- }
- catch (e) { // nothing selected
- errmesg.innerHTML = "A drawing table was not selected.";
- return null;
- }
- selections.Item(0).UnHighlight();
- mesg.innerHTML = "Selected Table: "
- + table.GetRowCount() + " rows, "
- + table.GetColumnCount() + " columns";
- // Gather data from table and populate into array
- //
- var array = new Array();
- for (var i=0; i<table.GetRowCount(); i++) {
- array[i] = new Array();
- for (var j=0; j<table.GetColumnCount(); j++) {
- // Table cell indexes start with one, arrays with zero
- var cell = pfcCreate("pfcTableCell").Create(i+1,j+1);
- var mode = pfcCreate("pfcParamMode").DWGTABLE_NORMAL;
- array[i][j] = "";
- try {
- var textseq = table.GetText(cell, mode);
- for (var k=0; k<textseq.Count; k++) {
- var textitem = textseq.Item(k);
- if (k > 0) { array[i][j] += "\n"; }
- array[i][j] += textitem;
- }
- }
- catch (e) { // cell has no value
- // ignore
- }
- }
- }
- return array;
- }
- function WriteTable (){
- var array = new Array();
- var table = document.getElementById('AE_Table').innerHTML;
- // var current, cell;
- //this loop goes through each row
- // for (var i = 0; (current = table.rows[i]); i++){
- // //this loop goes through each cell in current row
- // array[i] = new Array();
- // for (var j = 0; (cell = current.cells[j]); j++){
- // array [i][j] = cell;
- // }
- // }
- var current = table.rows.length;
- errmesg.innerHTML = current;
- }
- function pfcCreate (className)
- {
- if (!pfcIsWindows())
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- if (pfcIsWindows())
- return new ActiveXObject ("pfc."+className);
- else
- {
- ret = Components.classes ["@ptc.com/pfc/" + className + ";1"].createInstance();
- return ret;
- }
- }
- //Checks what OS is being operated
- //IE11 requires more indepth browser testing...
- function get_browser_info(){
- var ua=navigator.userAgent,tem,M=ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
- if(/trident/i.test(M[1])){
- tem=/\brv[ :]+(\d+)/g.exec(ua) || [];
- return {name:'IE',version:(tem[1]||'')};
- }
- if(M[1]==='Chrome'){
- tem=ua.match(/\bOPR\/(\d+)/)
- if(tem!=null) {return {name:'Opera', version:tem[1]};}
- }
- M=M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];
- if((tem=ua.match(/version\/(\d+)/i))!=null) {M.splice(1,1,tem[1]);}
- return {
- name: M[0],
- version: M[1]
- };
- }
- function pfcIsWindows ()
- {
- var browser = get_browser_info();
- if (browser.name.indexOf ("IE") != -1)
- return true;
- else
- return false;
- }
- </SCRIPT>
- </BODY>
- </HTML>
Advertisement
Add Comment
Please, Sign In to add comment