{"version":3,"sources":["EditableLabel.ts"],"names":[],"mappings":"AAAA,IAAO,aAAa,CAkDnB;AAlDD,WAAO,aAAa;IAChB;QAII,mBAAY,EAAU,EAAE,IAAY;YAChC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC;QACL,gBAAC;IAAD,CARA,AAQC,IAAA;IAED,IAAI,iBAAiB,GAAG,4nBAUrB,CAAC;IACJ,IAAI,SAAS,GAAW,CAAC,CAAC;IAC1B,IAAI,aAAa,GAA8D,EAAE,CAAC;IAElF,SAAgB,MAAM,CAAC,IAAY,EAAE,MAA8C;QAC/E,SAAS,EAAE,CAAC;QACZ,aAAa,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;QAClC,IAAI,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACzG,OAAO,IAAI,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IALe,oBAAM,SAKrB,CAAA;IAED,SAAgB,IAAI,CAAC,EAAU;QAC3B,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACpD,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAHe,kBAAI,OAGnB,CAAA;IACD,SAAgB,KAAK,CAAC,EAAU;QAC5B,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAHe,mBAAK,QAGpB,CAAA;IACD,SAAgB,IAAI,CAAC,EAAU;QAC3B,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAJe,kBAAI,OAInB,CAAA;IAED,SAAgB,OAAO,CAAC,EAAU,EAAE,IAAY;QAC5C,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAHe,qBAAO,UAGtB,CAAA;AACL,CAAC,EAlDM,aAAa,KAAb,aAAa,QAkDnB","file":"EditableLabel.js","sourcesContent":["module EditableLabel {\r\n class LabelData {\r\n id: number;\r\n html: string;\r\n\r\n constructor(id: number, html: string) {\r\n this.id = id;\r\n this.html = html;\r\n }\r\n }\r\n\r\n let editableLabelHTML = `\r\n\r\n
\r\n\t*text*\r\n
\r\n
`;\r\n let idCounter: number = 1;\r\n let saveFunctions: { [key: number]: (newValue: string, id: number) => void } = {};\r\n\r\n export function Create(text: string, onSave: (newValue: string, id: number) => void): LabelData {\r\n idCounter++;\r\n saveFunctions[idCounter] = onSave;\r\n let html = editableLabelHTML.replace(new RegExp(\"#\", 'g'), idCounter.toString()).replace(\"*text*\", text);\r\n return new LabelData(idCounter, html);\r\n }\r\n\r\n export function Save(id: number) {\r\n $(\"#label\" + id).html($(\"#editTextBox\" + id).val());\r\n saveFunctions[id]($(\"#editTextBox\" + id).val(), id);\r\n }\r\n export function Close(id: number) {\r\n $(\"#edit\" + id).hide();\r\n $(\"#text\" + id).show();\r\n }\r\n export function Edit(id: number) {\r\n $(\"#editTextBox\" + id).val($(\"#label\" + id).html());\r\n $(\"#edit\" + id).show();\r\n $(\"#text\" + id).hide();\r\n }\r\n\r\n export function SetText(id: number, text: string) {\r\n $(\"#editTextBox\" + id).val(text);\r\n $(\"#label\" + id).html(text);\r\n }\r\n}"]}