Index: vue/src/assets/images/devops/DevSupport/github.png =================================================================== diff -u -r9557eb5696c002f5007bb6c86139784f5c5bdfb5 -ra758e14a3543dc8564d19a37af52e3ebe2ac4644 --- vue/src/assets/images/devops/DevSupport/github.png (.../github.png) (revision 9557eb5696c002f5007bb6c86139784f5c5bdfb5) +++ vue/src/assets/images/devops/DevSupport/github.png (.../github.png) (revision a758e14a3543dc8564d19a37af52e3ebe2ac4644) @@ -17,44 +17,6 @@ url("../../reference/light-blue/css/font/NanumGothic/nanum-gothic-v11-latin_korean-regular.svg#NanumGothic") format("svg"); /* Legacy iOS */ } -/* nanum-gothic-800 - latin_korean */ -@font-face { - font-family: "Nanum Gothic"; - font-style: normal; - font-weight: 800; - src: url("../../reference/light-blue/css/font/NanumGothic/nanum-gothic-v11-latin_korean-800.eot"); /* IE9 Compat Modes */ - src: local("NanumGothic ExtraBold"), local("NanumGothic-ExtraBold"), - url("../../reference/light-blue/css/font/NanumGothic/nanum-gothic-v11-latin_korean-800.eot?#iefix") - format("embedded-opentype"), - /* IE6-IE8 */ url("../../reference/light-blue/css/font/NanumGothic/nanum-gothic-v11-latin_korean-800.woff2") - format("woff2"), - /* Super Modern Browsers */ - url("../../reference/light-blue/css/font/NanumGothic/nanum-gothic-v11-latin_korean-800.woff") format("woff"), - /* Modern Browsers */ url("../../reference/light-blue/css/font/NanumGothic/nanum-gothic-v11-latin_korean-800.ttf") - format("truetype"), - /* Safari, Android, iOS */ - url("../../reference/light-blue/css/font/NanumGothic/nanum-gothic-v11-latin_korean-800.svg#NanumGothic") - format("svg"); /* Legacy iOS */ -} -/* nanum-gothic-700 - latin_korean */ -@font-face { - font-family: "Nanum Gothic"; - font-style: normal; - font-weight: 700; - src: url("../../reference/light-blue/css/font/NanumGothic/nanum-gothic-v11-latin_korean-700.eot"); /* IE9 Compat Modes */ - src: local("NanumGothic Bold"), local("NanumGothic-Bold"), - url("../../reference/light-blue/css/font/NanumGothic/nanum-gothic-v11-latin_korean-700.eot?#iefix") - format("embedded-opentype"), - /* IE6-IE8 */ url("../../reference/light-blue/css/font/NanumGothic/nanum-gothic-v11-latin_korean-700.woff2") - format("woff2"), - /* Super Modern Browsers */ - url("../../reference/light-blue/css/font/NanumGothic/nanum-gothic-v11-latin_korean-700.woff") format("woff"), - /* Modern Browsers */ url("../../reference/light-blue/css/font/NanumGothic/nanum-gothic-v11-latin_korean-700.ttf") - format("truetype"), - /* Safari, Android, iOS */ - url("../../reference/light-blue/css/font/NanumGothic/nanum-gothic-v11-latin_korean-700.svg#NanumGothic") - format("svg"); /* Legacy iOS */ -} html, body { font-family: "Nanum Gothic" !important; Index: arms/html/dashboard/content-container.html =================================================================== diff -u -r9365d957a0eff15b1248a101b9df77fb27c26bf6 -ra758e14a3543dc8564d19a37af52e3ebe2ac4644 --- arms/html/dashboard/content-container.html (.../content-container.html) (revision 9365d957a0eff15b1248a101b9df77fb27c26bf6) +++ arms/html/dashboard/content-container.html (.../content-container.html) (revision a758e14a3543dc8564d19a37af52e3ebe2ac4644) @@ -211,20 +211,3 @@ - - - - - - - - - - - - - - - - - Index: reference/jquery-plugins/select2-4.0.13/src/scss/theme/default/layout.scss =================================================================== diff -u -r238a8ae1927bfcecc89f783b24b99e9679798992 -ra758e14a3543dc8564d19a37af52e3ebe2ac4644 --- reference/jquery-plugins/select2-4.0.13/src/scss/theme/default/layout.scss (.../layout.scss) (revision 238a8ae1927bfcecc89f783b24b99e9679798992) +++ reference/jquery-plugins/select2-4.0.13/src/scss/theme/default/layout.scss (.../layout.scss) (revision a758e14a3543dc8564d19a37af52e3ebe2ac4644) @@ -20,10 +20,10 @@ if (includeLayout(page)) { if (authUserCheck()) { $.getScript("js/" + page + ".js", function () { - setTimeout(function () { + //setTimeout(function () { /* 로그인 인증 여부 체크 함수 */ execDocReady(); - }, 313); + //}, 313); }); } } Index: arms/js/dashboard.js =================================================================== diff -u -r90378f1171b7bb3ff0a9039f4779da92dad3ce4e -ra758e14a3543dc8564d19a37af52e3ebe2ac4644 --- arms/js/dashboard.js (.../dashboard.js) (revision 90378f1171b7bb3ff0a9039f4779da92dad3ce4e) +++ arms/js/dashboard.js (.../dashboard.js) (revision a758e14a3543dc8564d19a37af52e3ebe2ac4644) @@ -12,297 +12,267 @@ $("#sidebar_menu_dashboard").css({ "font-weight": "900" }); }, 1000); - var testData = testData(["Search", "Referral", "Direct", "Organic"], 25), // just 25 points, since there are lots of charts - pieSelect = d3.select("#sources-chart-pie"), - pieFooter = d3.select("#data-chart-footer"), - stackedChart, - lineChart, - pieChart, - barChart; + function tsExample(){ + // interface IPerson { + // name: String + // age: Number + // marry: Boolean + // family?: Object + // hobby?: any + // dead?: undefined + // } - function pieChartUpdate(d) { - d.disabled = !d.disabled; - d3.select(this).classed("disabled", d.disabled); - if ( - !pieChart.pie - .values()(testData) - .filter(function (d) { - return !d.disabled; - }).length - ) { - pieChart.pie - .values()(testData) - .map(function (d) { - d.disabled = false; - return d; - }); - pieFooter.selectAll(".control").classed("disabled", false); - } - d3.select("#sources-chart-pie svg").transition().call(pieChart); + + // class PersonImp implements IPerson{ + // // IPerson 을 인용해서, + // // interface에 쓴 값을 다시 constructor안에 선언하는 이유는 interface에 선언한 값은 ~한 속성이 있어야 한다는 규약일뿐 선언된건 없음, + // // class 몸통엔 반드시 멤버속성이 등록되어 있어야 하므로 constructor안에 값을 써 줘야 사용 가능함. + // constructor(public name: string, public age : number , public marry : Boolean, public family? : Object, public hobby?: any, + // public dead?: undefined ){} + // } + + // let jeck: IPerson = {name: 'jeck', age:18, marry: false} + // let {name , age} = jeck + // console.log(name, age) // jeck, 18 + + // // 타입변환 + // const num: number = 123; + // const str: string = num as string; // num 변수를 string 타입으로 변환 + } - var lineResize; - function lineChartOperaHack() { - //lineChart is somehow not rendered correctly after updates. Need to reupdate - if (navigator.userAgent.indexOf("Opera")) { - clearTimeout(lineResize); - lineResize = setTimeout(lineChart.update, 300); - } +} +var testData = testData(['Search', 'Referral', 'Direct', 'Organic'], + 25),// just 25 points, since there are lots of charts + pieSelect = d3.select("#sources-chart-pie"), + pieFooter = d3.select("#data-chart-footer"), + stackedChart, + lineChart, + pieChart, + barChart; + +function pieChartUpdate(d){ + d.disabled = !d.disabled; + d3.select(this) + .classed("disabled", d.disabled); + if (!pieChart.pie.values()(testData).filter(function(d) { return !d.disabled }).length) { + pieChart.pie.values()(testData).map(function(d) { + d.disabled = false; + return d; + }); + pieFooter.selectAll('.control').classed('disabled', false); } + d3.select("#sources-chart-pie svg").transition().call(pieChart); +} - // test Data. - //use if needed - function sinAndCos() { - var sin = [], - cos = []; +var lineResize; +function lineChartOperaHack(){ + //lineChart is somehow not rendered correctly after updates. Need to reupdate + if (navigator.userAgent.indexOf("Opera")){ + clearTimeout(lineResize); + lineResize = setTimeout(lineChart.update, 300); + } +} - for (var i = 0; i < 100; i++) { - sin.push({ x: i, y: i % 10 == 5 ? null : Math.sin(i / 10) }); //the nulls are to show how defined works - cos.push({ x: i, y: 0.5 * Math.cos(i / 10) }); - } +// test Data. +//use if needed +function sinAndCos() { + var sin = [], + cos = []; - return [ - { - area: true, - values: sin, - key: "Sine Wave" - }, - { - values: cos, - key: "Cosine Wave" - } - ]; + for (var i = 0; i < 100; i++) { + sin.push({x: i, y: i % 10 == 5 ? null : Math.sin(i/10) }); //the nulls are to show how defined works + cos.push({x: i, y: .5 * Math.cos(i/10)}); } - nv.addGraph(function () { - /* - * we need to display total amount of visits for some period - * calculating it - * pie chart uses y-property by default, so setting sum there. - */ - for (var i = 0; i < testData.length; i++) { - testData[i].y = Math.floor( - d3.sum(testData[i].values, function (d) { - return d.y; - }) - ); + return [ + { + area: true, + values: sin, + key: "Sine Wave" + }, + { + values: cos, + key: "Cosine Wave" } + ]; +} - var chart = nv.models - .pieChartTotal() - .x(function (d) { - return d.key; - }) - .margin({ top: 0, right: 20, bottom: 20, left: 20 }) - .values(function (d) { - return d; - }) - .color(COLOR_VALUES) - .showLabels(false) - .showLegend(false) - .tooltipContent(function (key, y, e, graph) { - return "

" + key + "

" + "

" + y + "

"; - }) - .total(function (count) { - return "
" + count + "
visits
"; - }) - .donut(true); - chart.pie.margin({ top: 10, bottom: -20 }); +nv.addGraph(function() { - var sum = d3.sum(testData, function (d) { + /* + * we need to display total amount of visits for some period + * calculating it + * pie chart uses y-property by default, so setting sum there. + */ + for (var i = 0; i < testData.length; i++){ + testData[i].y = Math.floor(d3.sum(testData[i].values, function(d){ return d.y; - }); - pieFooter - .append("div") - .classed("controls", true) - .selectAll("div") - .data(testData) - .enter() - .append("div") - .classed("control", true) - .style("border-top", function (d, i) { - return "3px solid " + COLOR_VALUES[i]; - }) - .html(function (d) { - return ( - "
" + d.key + "
" + "
" + Math.floor((100 * d.y) / sum) + "%
" - ); - }) - .on("click", function (d) { - pieChartUpdate.apply(this, [d]); - setTimeout(function () { - stackedChart.update(); - lineChart.update(); - barChart.update(); + })) + } - lineChartOperaHack(); - }, 100); - }); + var chart = nv.models.pieChartTotal() + .x(function(d) {return d.key }) + .margin({top: 0, right: 20, bottom: 20, left: 20}) + .values(function(d) {return d }) + .color(COLOR_VALUES) + .showLabels(false) + .showLegend(false) + .tooltipContent(function(key, y, e, graph) { + return '

' + key + '

' + + '

' + y + '

' + }) + .total(function(count){ + return "
" + count + "
visits
" + }) + .donut(true); + chart.pie.margin({top: 10, bottom: -20}); - d3.select("#sources-chart-pie svg").datum([testData]).transition(500).call(chart); - nv.utils.windowResize(chart.update); - - pieChart = chart; - - return chart; + var sum = d3.sum(testData, function(d){ + return d.y; }); + pieFooter + .append("div") + .classed("controls", true) + .selectAll("div") + .data(testData) + .enter().append("div") + .classed("control", true) + .style("border-top", function(d, i){ + return "3px solid " + COLOR_VALUES[i]; + }) + .html(function(d) { + return "
" + d.key + "
" + + "
" + Math.floor(100 * d.y / sum) + "%
"; + }) + .on('click', function(d) { + pieChartUpdate.apply(this, [d]); + setTimeout(function() { + stackedChart.update(); + lineChart.update(); + barChart.update(); - nv.addGraph(function () { - var chart = nv.models - .multiBarChart() - .margin({ left: 30, bottom: 20, right: 0 }) - .color(keyColor) - .controlsColor([$white, $white, $white]) - .showLegend(false); - - chart.yAxis.showMaxMin(false).ticks(0).tickFormat(d3.format(",.f")); - - chart.xAxis.showMaxMin(false).tickFormat(function (d) { - return d3.time.format("%b %d")(new Date(d)); + lineChartOperaHack(); + }, 100); }); - d3.select("#sources-chart-bar svg").datum(testData).transition().duration(500).call(chart); + d3.select("#sources-chart-pie svg") + .datum([testData]) + .transition(500).call(chart); + nv.utils.windowResize(chart.update); - nv.utils.windowResize(chart.update); + pieChart = chart; - barChart = chart; + return chart; +}); - return chart; - }); +nv.addGraph(function(){ + var chart = nv.models.multiBarChart() + .margin({left: 30, bottom: 20, right: 0}) + .color(keyColor) + .controlsColor([$white, $white, $white]) + .showLegend(false); - nv.addGraph(function () { - var chart = nv.models - .stackedAreaChart() - .margin({ left: 0 }) - .color(keyColor) - .showControls(false) - .showLegend(false) - .style("stream") - .controlsColor([$textColor, $textColor, $textColor]); + chart.yAxis + .showMaxMin(false) + .ticks(0) + .tickFormat(d3.format(',.f')); - chart.yAxis.showMaxMin(false).tickFormat(d3.format(",f")); + chart.xAxis + .showMaxMin(false) + .tickFormat(function(d) { return d3.time.format('%b %d')(new Date(d)) }); - chart.xAxis.showMaxMin(false).tickFormat(function (d) { - return d3.time.format("%b %d")(new Date(d)); - }); + d3.select('#sources-chart-bar svg') + .datum(testData) + .transition().duration(500).call(chart); - d3.select("#sources-chart-stacked svg").datum(testData).transition().duration(500).call(chart); - nv.utils.windowResize(chart.update); + nv.utils.windowResize(chart.update); - chart.stacked.dispatch.on("areaClick.updateExamples", function (e) { - setTimeout(function () { - lineChart.update(); - pieChart.update(); - barChart.update(); + barChart = chart; - pieSelect.selectAll(".control").classed("disabled", function (d) { - return d.disabled; - }); - }, 100); - }); + return chart; +}); - stackedChart = chart; +nv.addGraph(function() { + var chart = nv.models.stackedAreaChart() + .margin({left: 0}) + .color(keyColor) + .showControls(false) + .showLegend(false) + .style("stream") + .controlsColor([$textColor, $textColor, $textColor]); - return chart; - }); + chart.yAxis + .showMaxMin(false) + .tickFormat(d3.format(',f')); - nv.addGraph(function () { - var chart = nv.models - .lineChart() - .margin({ top: 0, bottom: 25, left: 30, right: 0 }) - .showLegend(false) - .color(keyColor); + chart.xAxis + .showMaxMin(false) + .tickFormat(function(d) { return d3.time.format('%b %d')(new Date(d)) }); - chart.yAxis.showMaxMin(false).tickFormat(d3.format(",.f")); + d3.select("#sources-chart-stacked svg") + .datum(testData) + .transition().duration(500).call(chart); + nv.utils.windowResize(chart.update); - chart.xAxis.showMaxMin(false).tickFormat(function (d) { - return d3.time.format("%b %d")(new Date(d)); - }); + chart.stacked.dispatch.on('areaClick.updateExamples', function(e) { + setTimeout(function() { + lineChart.update(); + pieChart.update(); + barChart.update(); - //just to make it look different - testData[0].area = true; - testData[3].area = true; + pieSelect.selectAll('.control').classed("disabled", function(d){ + return d.disabled; + }); + }, 100); + }); - d3.select("#sources-chart-line svg") - //.datum(sinAndCos()) - .datum(testData) - .transition() - .duration(500) - .call(chart); + stackedChart = chart; - nv.utils.windowResize(chart.update); - lineChart = chart; + return chart; +}); - lineChartOperaHack(); +nv.addGraph(function() { + var chart = nv.models.lineChart() + .margin({top: 0, bottom: 25, left: 30, right: 0}) + .showLegend(false) + .color(keyColor); - return chart; - }); + chart.yAxis + .showMaxMin(false) + .tickFormat(d3.format(',.f')); - function getData() { - var arr = [], - theDate = new Date(2012, 1, 1, 0, 0, 0, 0), - previous = Math.floor(Math.random() * 100); - for (var x = 0; x < 30; x++) { - var newY = previous + Math.floor(Math.random() * 5 - 2); - previous = newY; - arr.push({ x: new Date(theDate.getTime()), y: newY }); - theDate.setDate(theDate.getDate() + 1); - } - return arr; - } + chart.xAxis + .showMaxMin(false) + .tickFormat(function(d) { return d3.time.format('%b %d')(new Date(d)) }); - /** - * Util functions - */ + //just to make it look different + testData[0].area = true; + testData[3].area = true; - function testData(stream_names, points_count) { - var now = new Date().getTime(), - day = 1000 * 60 * 60 * 24, //milliseconds - days_ago_count = 60, - days_ago = days_ago_count * day, - days_ago_date = now - days_ago, - points_count = points_count || 45, //less for better performance - day_per_point = days_ago_count / points_count; - return stream_layers(stream_names.length, points_count, 0.1).map(function (data, i) { - return { - key: stream_names[i], - values: data.map(function (d, j) { - return { - x: days_ago_date + d.x * day * day_per_point, - y: Math.floor(d.y * 100) //just a coefficient - }; - }) - }; - }); - } + d3.select('#sources-chart-line svg') + //.datum(sinAndCos()) + .datum(testData) + .transition().duration(500) + .call(chart); - function tsExample(){ - // interface IPerson { - // name: String - // age: Number - // marry: Boolean - // family?: Object - // hobby?: any - // dead?: undefined - // } + nv.utils.windowResize(chart.update); + lineChart = chart; + lineChartOperaHack(); - // class PersonImp implements IPerson{ - // // IPerson 을 인용해서, - // // interface에 쓴 값을 다시 constructor안에 선언하는 이유는 interface에 선언한 값은 ~한 속성이 있어야 한다는 규약일뿐 선언된건 없음, - // // class 몸통엔 반드시 멤버속성이 등록되어 있어야 하므로 constructor안에 값을 써 줘야 사용 가능함. - // constructor(public name: string, public age : number , public marry : Boolean, public family? : Object, public hobby?: any, - // public dead?: undefined ){} - // } + return chart; +}); - // let jeck: IPerson = {name: 'jeck', age:18, marry: false} - // let {name , age} = jeck - // console.log(name, age) // jeck, 18 - - // // 타입변환 - // const num: number = 123; - // const str: string = num as string; // num 변수를 string 타입으로 변환 - +function getData() { + var arr = [], + theDate = new Date(2012, 1, 1, 0, 0, 0, 0), + previous = Math.floor(Math.random() * 100); + for (var x = 0; x < 30; x++) { + var newY = previous + Math.floor(Math.random() * 5 - 2); + previous = newY; + arr.push({x: new Date(theDate.getTime()), y: newY}); + theDate.setDate(theDate.getDate() + 1); } - -} + return arr; +} \ No newline at end of file Index: arms/template.html =================================================================== diff -u -rc4e22389f56da80def6103d58c7eb432a150b9f7 -ra758e14a3543dc8564d19a37af52e3ebe2ac4644 --- arms/template.html (.../template.html) (revision c4e22389f56da80def6103d58c7eb432a150b9f7) +++ arms/template.html (.../template.html) (revision a758e14a3543dc8564d19a37af52e3ebe2ac4644) @@ -255,26 +255,26 @@ - - - - + + - - - - - - - - - - - - + + + + + + + + + + + + Index: reference/light-blue/lib/nvd3/nv.d3.custom.js =================================================================== diff -u -r6fc2ff0bdd33829f1e5e0dbb84a32fc1f6e4716e -ra758e14a3543dc8564d19a37af52e3ebe2ac4644 --- reference/light-blue/lib/nvd3/nv.d3.custom.js (.../nv.d3.custom.js) (revision 6fc2ff0bdd33829f1e5e0dbb84a32fc1f6e4716e) +++ reference/light-blue/lib/nvd3/nv.d3.custom.js (.../nv.d3.custom.js) (revision a758e14a3543dc8564d19a37af52e3ebe2ac4644) @@ -2,7 +2,7 @@ var nv = window.nv || {}; nv.version = '0.0.1a'; -nv.dev = true //set false when in production +nv.dev = true; //set false when in production window.nv = nv; @@ -282,7 +282,7 @@ window.onresize = function(e) { if (typeof oldresize == 'function') oldresize(e); - fun(e); + //fun(e); }; }