| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 
// modulevar mdviewer = angular.module('mdviewer', [])function toArray (obj, key, value) {    var arr = []    for (var k in obj) {        var tmp = {}        tmp[key] = k        tmp[value] = obj[k]        arr.push(tmp)    }    return arr}function toObject (arr, key, value) {    var obj = {}    for (var i=0; i < arr.length; i++) {        obj[arr[i][key]] = arr[i][value]    }    return obj}mdviewer.controller('popup', ['$scope', function ($scope) {    function init () {        chrome.extension.sendMessage({            message: 'settings'        }, function (res) {            $scope.options = toArray(res.options, 'name', 'enabled')                        $scope.themes = chrome.runtime.getManifest().web_accessible_resources                .filter(function (file) {return file.indexOf('/themes/') == 0})                .map(function (file) {                    var name = file.replace(/\/themes\/(.*)\.css/,'$1')                    if (name == res.theme) $scope.theme = {name: name}                    return {name: name}                })            $scope.raw = res.raw            $scope.$digest()        })    }    init()        $scope.onOptions = function () {        chrome.extension.sendMessage({            message: 'options',            options: toObject(JSON.parse(angular.toJson($scope.options)), 'name', 'enabled')        }, function (res) {                    })    }    $scope.onTheme = function () {        chrome.extension.sendMessage({            message: 'theme',            theme: $scope.theme.name        }, function (res) {        })    }    $scope.onRaw = function () {        $scope.raw = !$scope.raw        chrome.extension.sendMessage({            message: 'raw',            raw: $scope.raw        }, function (res) {                    })    }    $scope.onDefaults = function () {        chrome.extension.sendMessage({            message: 'defaults'        }, function (res) {            init()        })    }}])
 |