// Generated by CoffeeScript 1.11.0 (function() { var Sahli, ansiorascii, arraytocolor, booltoint, colorindex, colortoarray, colortoname, dec2hex, dumpjson, emptyfiledef, getfilelist, hex2dec, inttobool, loadsahli, newsahli, resolvefiletype, sahlicolor, statustobool; $(function() { return $("h1").hide().slideDown(500); }); $(function() { return $("#newsahli").button({ disabled: false }).click(function() { return newsahli(); }); }); $(function() { return $("#loadsahli").button({ disabled: false }).click(function() { return loadsahli(); }); }); $(function() { $(".hidden").hide(); $("#entryamiga").button({ icons: { primary: "ui-icon-gear" } }).click(function() { var stuff; stuff = $(this).children(); if (this.value === "1") { stuff[1].textContent = 'Ansi'; return this.value = "0"; } else { stuff[1].textContent = 'Ascii'; return this.value = "1"; } }); $(".45box").css({ width: '45%', display: 'inline-block' }); $(".groupbox p").css({ margin: "0 0 .25em 0" }); $(".colorbox").change((function(_this) { return function() { return sahlicolor(); }; })(this)); $("#entryfilepick").change(function() { if (this.files[0] != null) { return $("#entryfile").val(this.files[0].name); } }); return $("#entryfile").click(function() { return $("#entryfilepick").click(); }); }); emptyfiledef = (function() { function emptyfiledef() { this.file = ""; this.name = ""; this.amiga = true; this.filetype = 'plain'; this.width = ""; this.author = ""; this.font = "Propaz"; this.color = [255, 255, 255, 255]; this.bg = [0, 0, 0, 0]; this.line1 = ""; this.line2 = ""; this.text = ""; } return emptyfiledef; })(); Sahli = (function() { function Sahli() { this.emptyfiledef = new emptyfiledef; this.emptyslidesdef = { "background": "", "template": "", "css": "" }; this.empty = { "location": "", "slides": this.emptyslidesdef, "filedata": [] }; } Sahli.prototype.loader = function() { return $.ajax({ url: '../list.sahli', dataType: "json", success: (function(_this) { return function(result) { _this.data = result; return _this.edit(); }; })(this) }); }; Sahli.prototype.edit = function() { $('#buttonbox').hide(); $('#dirlocation').change((function(_this) { return function(event) { return _this.data.location = event.target.value; }; })(this)); $('#listsave').button({ icons: { primary: "ui-icon-disk" } }).click((function(_this) { return function() { $('#sahlioutput').text(dumpjson(_this.data)); $('#dumparea').show(100); return console.log(dumpjson(_this.data)); }; })(this)); $('#listlist').button({ icons: { primary: "ui-icon-folder-open" } }).click(function() { return getfilelist(); }); $('#listappend').button({ icons: { primary: "ui-icon-1-n" } }).click((function(_this) { return function(event) { var newentry; newentry = new emptyfiledef; _this.data.filedata.push(newentry); return _this.buildlist(_this.data); }; })(this)); $('#listdisplay').button({ icons: { primary: "ui-icon-refresh" } }).click((function(_this) { return function() { return _this.buildlist(_this.data); }; })(this)); $('#closespan').click(function() { $(this.parentElement.parentElement).hide(); return $('#sahlioutput').text(''); }); return this.buildlist(this.data); }; Sahli.prototype.buildlist = function(data) { var i, item, j, k, len, len1, ref, ref1, x; $('#list').show(100); $('#list ol li').remove(); ref = this.data.filedata; for (j = 0, len = ref.length; j < len; j++) { i = ref[j]; console.log(i.author); } x = 0; $('#dirlocation').val(this.data.location); ref1 = this.data.filedata; for (k = 0, len1 = ref1.length; k < len1; k++) { item = ref1[k]; $('#sortlist').append(this.additem(item, x++)); } return $('#sortlist').sortable({ start: function(event, ui) { return ui.item.data({ startpos: ui.item.index() }); }, stop: (function(_this) { return function(event, ui) { var e, l, len2, name, ref2, s; s = ui.item.data().startpos; e = ui.item.index(); _this.data.filedata = _this.rearrangearray(s, e, _this.data.filedata); ref2 = _this.data.filedata; for (l = 0, len2 = ref2.length; l < len2; l++) { name = ref2[l]; console.log(name.author, name.name, name.file); } console.log('---'); return _this.buildlist(_this.data); }; })(this) }); }; Sahli.prototype.rearrangearray = function(startpos, endpos, a) { var alen, moving, tarr; moving = a[startpos]; alen = a.length; tarr = a.slice(0, startpos).concat(a.slice(startpos + 1)); return tarr.slice(0, endpos).concat([moving].concat(tarr.slice(endpos))); }; Sahli.prototype.additem = function(item, pos) { var entry; entry = this.genentryline(item, pos); return entry.dblclick((function(_this) { return function() { return _this.editline(item, pos); }; })(this)); }; Sahli.prototype.genentryline = function(item, pos) { var amigastatus, arrows, delbutton, entry; arrows = ""; amigastatus = ansiorascii(booltoint(item.amiga)); delbutton = $("delete").click((function(_this) { return function(event) { pos = event.currentTarget.id.replace("del-", ""); _this.data.filedata.splice(pos, 1); return _this.buildlist(_this.data); }; })(this)); entry = $("
  • " + arrows + amigastatus + " | " + item.author + " : " + item.name + " : " + item.file + "
  • "); return entry.append(delbutton); }; Sahli.prototype.save = function() { var entry, pos; pos = $("#entryindex").val(); entry = this.data.filedata[pos]; entry.name = $("#entryname").val(); entry.author = $("#entryauthor").val(); entry.amiga = statustobool($("#entryamiga").children()[1].textContent); console.log($("#entryamiga").children()[1].textContent, entry.amiga, entry.author); entry.color = colortoarray($("#entrycolor").val()); entry.bg = colortoarray($("#entrybg").val()); entry.width = $("#entrywidth").val(); entry.line1 = $("#entryline1").val(); entry.line2 = $("#entryline2").val(); entry.text = $("#entrytext").val(); entry.file = $("#entryfile").val(); entry.filetype = $("#entryfiletype").val(); return this.buildlist(this.data); }; Sahli.prototype.editline = function(data, pos) { var bcol, fcol; $("#formica").dialog({ width: '800', modal: false, title: "Entry " + data.file + " ", buttons: [ { text: "Cancel", icons: { primary: 'ui-icon-trash' }, click: function() { return $(this).dialog("close"); } }, { text: "Save", icons: { primary: 'ui-icon-disk' }, click: (function(_this) { return function(event) { event.preventDefault(); _this.save(); return event.currentTarget.previousElementSibling.click(); }; })(this) } ] }); data.amiga = booltoint(data.amiga); fcol = colortoname(arraytocolor(data.color)); bcol = colortoname(arraytocolor(data.bg)); $("#entryindex").val(pos); $("#entryname").val(data.name); $("#entryauthor").val(data.author); $("#entryfiletpye").val(data.filetype); $("#entryfiletype").children()[resolvefiletype(data.filetype)].selected = true; $("#entryamiga").val(data.amiga); $("#entryamiga").children()[1].textContent = ansiorascii(data.amiga); $("#entryfont").val(data.font); $("#entrycolor").val(fcol); $("#entrycolor").children()[colorindex(fcol)].selected = true; $("#entrybg").val(bcol); $("#entrybg").children()[colorindex(bcol)].selected = true; $("#entrywidth").val(data.width); $("#entryline1").val(data.line1); $("#entryline2").val(data.line2); $("#entrytext").val(data.text); $("#entryfile").val(data.file); return sahlicolor(); }; return Sahli; })(); dumpjson = function(obj) { return JSON.stringify(obj, null, "\t"); }; booltoint = function(bool) { return bool + 1 - 1; }; inttobool = function(intstr) { return (intstr === 1).toString(); }; statustobool = function(status) { if (status === 'Ascii') { return true; } else { return false; } }; resolvefiletype = function(filetype) { var options; options = { "plain": 0, "ansi": 1, "xbin": 2, "ice": 3, "adf": 4, "avatar": 5, "bin": 6, "idf": 7, "pcboard": 8, "tundra": 9 }; return options[filetype]; }; ansiorascii = function(status) { if (status === 0) { return "Ansi"; } else { return "Ascii"; } }; dec2hex = function(num) { return "" + (('000' + num.toString(16)).slice(-2)); }; hex2dec = function(num) { return parseInt(num, 16); }; arraytocolor = function(array) { var c, x; c = ((function() { var j, len, results; results = []; for (j = 0, len = array.length; j < len; j++) { x = array[j]; results.push(dec2hex(x)); } return results; })()).slice(0, 3).join(''); return "#" + c; }; colortoarray = function(color) { var c1, i, x; color = color.slice(1); c1 = [color.slice(0, 2), color.slice(2, 4), color.slice(4, 6)]; x = (function() { var j, len, results; results = []; for (j = 0, len = c1.length; j < len; j++) { i = c1[j]; results.push(hex2dec(i)); } return results; })(); x.push(255); return x; }; colortoname = function(color) { var bw, colorname, names, ret; names = { "#E0E0E0": "Light Grey", "#A0A0E0": "Light Blue", "#9AFE2E": "Light Green", "#FF0000": "Red", "#FF8000": "Orange", "#FFFF00": "Yellow", "#00F000": "Green", "#2EFEF7": "Cyan", "#002EF7": "Blue", "#0B0B3B": "Navy", "#FF00FF": "Magenta", "#8000FF": "Purple", "#0A2A0A": "Dark Green", "#3B3B3B": "Dark Grey", "#FFFFFF": "White", "#000000": "Black" }; color = color.toUpperCase(); colorname = names[color]; bw = hex2dec(color.slice(1)) > 8421504 ? 'White' : "Black"; return ret = colorname != null ? colorname : bw; }; colorindex = function(colorname) { var names; names = { "Light Grey": 0, "Light Blue": 1, "Light Green": 2, "Red": 3, "Orange": 4, "Yellow": 5, "Green": 6, "Cyan": 7, "Blue": 8, "Navy": 9, "Magenta": 10, "Purple": 11, "Dark Green": 12, "Dark Grey": 13, "White": 14, "Black": 15 }; return names[colorname]; }; sahlicolor = function() { var bg, fg; fg = $('#entrycolor').val(); bg = $('#entrybg').val(); console.log('sahlicolor', fg, bg); return $('#sahliascii').css({ 'color': fg, 'background': bg }); }; getfilelist = function() { var location; location = $("#dirlocation").val(); return $.get("../" + location, function(listing) { return console.log(listing); }); }; newsahli = function() { var newentry, sahli; sahli = new Sahli; sahli.data = sahli.empty; newentry = new emptyfiledef; sahli.data.filedata.push(newentry); return sahli.edit(); }; loadsahli = function() { var sahli; sahli = new Sahli; return sahli.loader('list.sahli'); }; }).call(this);