Merge branch 'develop'
admin [init ok] lea++ blog platform [ok]
This commit is contained in:
1 parent
99956cfd72
commit
87269cc939
409 files changed
+28640
-12
No files matched your search
@@ -32,6 +32,7 @@ func (c Auth) DoLogin(email, pwd string) revel.Result {
|
|||||||
c.SetSession(userInfo)
|
c.SetSession(userInfo)
|
||||||
// 必须要redirect, 不然用户刷新会重复提交登录信息
|
// 必须要redirect, 不然用户刷新会重复提交登录信息
|
||||||
// return c.Redirect("/")
|
// return c.Redirect("/")
|
||||||
|
configService.InitUserConfigs(userInfo.UserId.Hex())
|
||||||
return c.RenderJson(info.Re{Ok: true})
|
return c.RenderJson(info.Re{Ok: true})
|
||||||
}
|
}
|
||||||
// return c.RenderTemplate("login.html")
|
// return c.RenderTemplate("login.html")
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"github.com/revel/revel"
|
"github.com/revel/revel"
|
||||||
// "encoding/json"
|
// "encoding/json"
|
||||||
"gopkg.in/mgo.v2/bson"
|
"gopkg.in/mgo.v2/bson"
|
||||||
// . "leanote/app/lea"
|
// . "github.com/leanote/leanote/app/lea"
|
||||||
"github.com/leanote/leanote/app/info"
|
"github.com/leanote/leanote/app/info"
|
||||||
// "github.com/leanote/leanote/app/types"
|
// "github.com/leanote/leanote/app/types"
|
||||||
// "io/ioutil"
|
// "io/ioutil"
|
||||||
@@ -45,15 +45,14 @@ func (c Blog) SetNotebook2Blog(notebookId string, isBlog bool) revel.Result {
|
|||||||
//-----------------------------
|
//-----------------------------
|
||||||
// 前台
|
// 前台
|
||||||
|
|
||||||
// 默认是admin用户的博客
|
|
||||||
// 列表
|
// 进入某个用户的博客
|
||||||
// 这里还需要得到其它博客配置信息...
|
|
||||||
// 配置信息可以放在users表中, 或添加一个user_options表(用户配置表)
|
|
||||||
var blogPageSize = 5
|
var blogPageSize = 5
|
||||||
var searchBlogPageSize = 30
|
var searchBlogPageSize = 30
|
||||||
func (c Blog) Index(userId string, notebookId string) revel.Result {
|
func (c Blog) Index(userId string, notebookId string) revel.Result {
|
||||||
|
// 用户id为空, 转至博客平台
|
||||||
if userId == "" {
|
if userId == "" {
|
||||||
userId = leanoteUserId
|
userId = leanoteUserId;
|
||||||
}
|
}
|
||||||
|
|
||||||
// userId可能是 username, email
|
// userId可能是 username, email
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
package controllers
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/revel/revel"
|
||||||
|
// "encoding/json"
|
||||||
|
. "github.com/leanote/leanote/app/lea"
|
||||||
|
// "github.com/leanote/leanote/app/types"
|
||||||
|
// "io/ioutil"
|
||||||
|
// "math"
|
||||||
|
// "os"
|
||||||
|
// "path"
|
||||||
|
)
|
||||||
|
|
||||||
|
// lea++博客平台
|
||||||
|
type Lea struct {
|
||||||
|
BaseController
|
||||||
|
}
|
||||||
|
|
||||||
|
// 进入某个用户的博客
|
||||||
|
func (c Lea) Index(tag, keywords string) revel.Result {
|
||||||
|
c.RenderArgs["nav"] = "recommend"
|
||||||
|
return c.p(tag, keywords, true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c Lea) Latest(tag, keywords string) revel.Result {
|
||||||
|
c.RenderArgs["nav"] = "latest"
|
||||||
|
return c.p(tag, keywords, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c Lea) p(tag, keywords string, recommend bool) revel.Result {
|
||||||
|
var tags = []string{}
|
||||||
|
if recommend {
|
||||||
|
tags = configService.GetGlobalArrayConfig("recommendTags")
|
||||||
|
} else {
|
||||||
|
tags = configService.GetGlobalArrayConfig("newTags")
|
||||||
|
}
|
||||||
|
// 如果不在所在的tag就不能搜索
|
||||||
|
if !InArray(tags, tag) {
|
||||||
|
tag = ""
|
||||||
|
}
|
||||||
|
c.RenderArgs["tag"] = tag
|
||||||
|
|
||||||
|
page := c.GetPage()
|
||||||
|
pageInfo, blogs := blogService.ListAllBlogs(tag, keywords, recommend, page, 10, "UpdatedTime", false)
|
||||||
|
|
||||||
|
c.RenderArgs["pageInfo"] = pageInfo
|
||||||
|
c.RenderArgs["blogs"] = blogs
|
||||||
|
c.RenderArgs["tags"] = tags
|
||||||
|
c.RenderArgs["keywords"] = keywords
|
||||||
|
|
||||||
|
return c.RenderTemplate("lea/index.html");
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
package admin
|
||||||
|
|
||||||
|
import (
|
||||||
|
// "github.com/revel/revel"
|
||||||
|
// "gopkg.in/mgo.v2/bson"
|
||||||
|
// "encoding/json"
|
||||||
|
. "github.com/leanote/leanote/app/lea"
|
||||||
|
"github.com/leanote/leanote/app/controllers"
|
||||||
|
// "io/ioutil"
|
||||||
|
// "fmt"
|
||||||
|
// "math"
|
||||||
|
// "strconv"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 公用Controller, 其它Controller继承它
|
||||||
|
type AdminBaseController struct {
|
||||||
|
controllers.BaseController // 不能用*BaseController
|
||||||
|
}
|
||||||
|
|
||||||
|
// 得到sorterField 和 isAsc
|
||||||
|
// okSorter = ['email', 'username']
|
||||||
|
func (c AdminBaseController) getSorter(sorterField string, isAsc bool, okSorter []string) (string, bool){
|
||||||
|
sorter := ""
|
||||||
|
c.Params.Bind(&sorter, "sorter")
|
||||||
|
if sorter == "" {
|
||||||
|
return sorterField, isAsc;
|
||||||
|
}
|
||||||
|
|
||||||
|
// sorter形式 email-up, email-down
|
||||||
|
s2 := strings.Split(sorter, "-")
|
||||||
|
if len(s2) != 2 {
|
||||||
|
return sorterField, isAsc;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 必须是可用的sorter
|
||||||
|
if okSorter != nil && len(okSorter) > 0 {
|
||||||
|
if !InArray(okSorter, s2[0]) {
|
||||||
|
return sorterField, isAsc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sorterField = strings.Title(s2[0])
|
||||||
|
if s2[1] == "up" {
|
||||||
|
isAsc = true
|
||||||
|
} else {
|
||||||
|
isAsc = false
|
||||||
|
}
|
||||||
|
c.RenderArgs["sorter"] = sorter
|
||||||
|
return sorterField, isAsc;
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package admin
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/revel/revel"
|
||||||
|
// . "github.com/leanote/leanote/app/lea"
|
||||||
|
"github.com/leanote/leanote/app/info"
|
||||||
|
)
|
||||||
|
|
||||||
|
// admin 首页
|
||||||
|
|
||||||
|
type AdminBlog struct {
|
||||||
|
AdminBaseController
|
||||||
|
}
|
||||||
|
|
||||||
|
// admin 主页
|
||||||
|
func (c AdminBlog) Index(sorter, keywords string) revel.Result {
|
||||||
|
pageNumber := c.GetPage()
|
||||||
|
sorterField, isAsc := c.getSorter("CreatedTime", false, []string{"title", "userId", "isRecommed", "createdTime"});
|
||||||
|
pageInfo, blogs := blogService.ListAllBlogs("", keywords, false, pageNumber, userPageSize, sorterField, isAsc);
|
||||||
|
c.RenderArgs["pageInfo"] = pageInfo
|
||||||
|
c.RenderArgs["blogs"] = blogs
|
||||||
|
c.RenderArgs["keywords"] = keywords
|
||||||
|
return c.RenderTemplate("admin/blog/list.html");
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c AdminBlog) SetRecommend(noteId string, recommend bool) revel.Result {
|
||||||
|
re := info.NewRe()
|
||||||
|
re.Ok = blogService.SetRecommend(noteId, recommend);
|
||||||
|
return c.RenderJson(re)
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package admin
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/revel/revel"
|
||||||
|
)
|
||||||
|
|
||||||
|
// admin 首页
|
||||||
|
|
||||||
|
type Admin struct {
|
||||||
|
AdminBaseController
|
||||||
|
}
|
||||||
|
|
||||||
|
// admin 主页
|
||||||
|
func (c Admin) Index() revel.Result {
|
||||||
|
c.SetUserInfo()
|
||||||
|
|
||||||
|
c.RenderArgs["title"] = "leanote"
|
||||||
|
c.SetLocale()
|
||||||
|
|
||||||
|
return c.RenderTemplate("admin/index.html");
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c Admin) GetView(view string) revel.Result {
|
||||||
|
return c.RenderTemplate("admin/" + view);
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
package admin
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/revel/revel"
|
||||||
|
// . "github.com/leanote/leanote/app/lea"
|
||||||
|
"github.com/leanote/leanote/app/info"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
// admin 首页
|
||||||
|
|
||||||
|
type AdminSetting struct {
|
||||||
|
AdminBaseController
|
||||||
|
}
|
||||||
|
|
||||||
|
// email配置
|
||||||
|
func (c AdminSetting) Email() revel.Result {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// blog标签设置
|
||||||
|
func (c AdminSetting) Blog() revel.Result {
|
||||||
|
recommendTags := configService.GetGlobalArrayConfig("recommendTags")
|
||||||
|
newTags := configService.GetGlobalArrayConfig("newTags")
|
||||||
|
c.RenderArgs["recommendTags"] = strings.Join(recommendTags, ",")
|
||||||
|
c.RenderArgs["newTags"] = strings.Join(newTags, ",")
|
||||||
|
return c.RenderTemplate("admin/setting/blog.html");
|
||||||
|
}
|
||||||
|
func (c AdminSetting) DoBlogTag(recommendTags, newTags string) revel.Result {
|
||||||
|
re := info.NewRe()
|
||||||
|
|
||||||
|
re.Ok = configService.UpdateUserArrayConfig(c.GetUserId(), "recommendTags", strings.Split(recommendTags, ","))
|
||||||
|
re.Ok = configService.UpdateUserArrayConfig(c.GetUserId(), "newTags", strings.Split(newTags, ","))
|
||||||
|
|
||||||
|
return c.RenderJson(re)
|
||||||
|
}
|
||||||
|
|
||||||
|
// demo
|
||||||
|
// blog标签设置
|
||||||
|
func (c AdminSetting) Demo() revel.Result {
|
||||||
|
c.RenderArgs["demoUsername"] = configService.GetGlobalStringConfig("demoUsername")
|
||||||
|
c.RenderArgs["demoPassword"] = configService.GetGlobalStringConfig("demoPassword")
|
||||||
|
return c.RenderTemplate("admin/setting/demo.html");
|
||||||
|
}
|
||||||
|
func (c AdminSetting) DoDemo(demoUsername, demoPassword string) revel.Result {
|
||||||
|
re := info.NewRe()
|
||||||
|
|
||||||
|
userInfo := authService.Login(demoUsername, demoPassword)
|
||||||
|
if userInfo.UserId == "" {
|
||||||
|
re.Msg = "The User is Not Exists";
|
||||||
|
return c.RenderJson(re)
|
||||||
|
}
|
||||||
|
|
||||||
|
re.Ok = configService.UpdateUserStringConfig(c.GetUserId(), "demoUserId", userInfo.UserId.Hex())
|
||||||
|
re.Ok = configService.UpdateUserStringConfig(c.GetUserId(), "demoUsername", demoUsername)
|
||||||
|
re.Ok = configService.UpdateUserStringConfig(c.GetUserId(), "demoPassword", demoPassword)
|
||||||
|
|
||||||
|
return c.RenderJson(re)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package admin
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/revel/revel"
|
||||||
|
// . "github.com/leanote/leanote/app/lea"
|
||||||
|
)
|
||||||
|
|
||||||
|
// admin 首页
|
||||||
|
|
||||||
|
type AdminUser struct {
|
||||||
|
AdminBaseController
|
||||||
|
}
|
||||||
|
|
||||||
|
// admin 主页
|
||||||
|
var userPageSize = 10
|
||||||
|
func (c AdminUser) Index(sorter, keywords string) revel.Result {
|
||||||
|
pageNumber := c.GetPage()
|
||||||
|
sorterField, isAsc := c.getSorter("CreatedTime", false, []string{"email", "username", "verified", "createdTime"});
|
||||||
|
pageInfo, users := userService.ListUsers(pageNumber, userPageSize, sorterField, isAsc, keywords);
|
||||||
|
c.RenderArgs["pageInfo"] = pageInfo
|
||||||
|
c.RenderArgs["users"] = users
|
||||||
|
c.RenderArgs["keywords"] = keywords
|
||||||
|
return c.RenderTemplate("admin/user/list.html");
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c AdminUser) Add() revel.Result {
|
||||||
|
return c.RenderTemplate("admin/user/add.html");
|
||||||
|
}
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
package admin
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/leanote/leanote/app/service"
|
||||||
|
"github.com/leanote/leanote/app/info"
|
||||||
|
// . "github.com/leanote/leanote/app/lea"
|
||||||
|
"github.com/revel/revel"
|
||||||
|
// "strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
var userService *service.UserService
|
||||||
|
var noteService *service.NoteService
|
||||||
|
var trashService *service.TrashService
|
||||||
|
var notebookService *service.NotebookService
|
||||||
|
var noteContentHistoryService *service.NoteContentHistoryService
|
||||||
|
var authService *service.AuthService
|
||||||
|
var shareService *service.ShareService
|
||||||
|
var blogService *service.BlogService
|
||||||
|
var tagService *service.TagService
|
||||||
|
var pwdService *service.PwdService
|
||||||
|
var tokenService *service.TokenService
|
||||||
|
var suggestionService *service.SuggestionService
|
||||||
|
var albumService *service.AlbumService
|
||||||
|
var noteImageService *service.NoteImageService
|
||||||
|
var fileService *service.FileService
|
||||||
|
var attachService *service.AttachService
|
||||||
|
var configService *service.ConfigService
|
||||||
|
|
||||||
|
var adminUsername = "admin"
|
||||||
|
// 拦截器
|
||||||
|
// 不需要拦截的url
|
||||||
|
// Index 除了Note之外都不需要
|
||||||
|
var commonUrl = map[string]map[string]bool{"Index": map[string]bool{"Index": true,
|
||||||
|
"Login": true,
|
||||||
|
"DoLogin": true,
|
||||||
|
"Logout": true,
|
||||||
|
"Register": true,
|
||||||
|
"DoRegister": true,
|
||||||
|
"FindPasswword": true,
|
||||||
|
"DoFindPassword": true,
|
||||||
|
"FindPassword2": true,
|
||||||
|
"FindPasswordUpdate": true,
|
||||||
|
"Suggestion": true,
|
||||||
|
},
|
||||||
|
"Blog": map[string]bool{"Index": true,
|
||||||
|
"View": true,
|
||||||
|
"AboutMe": true,
|
||||||
|
"SearchBlog": true,
|
||||||
|
},
|
||||||
|
// 用户的激活与修改邮箱都不需要登录, 通过链接地址
|
||||||
|
"User": map[string]bool{"UpdateEmail": true,
|
||||||
|
"ActiveEmail":true,
|
||||||
|
},
|
||||||
|
"Oauth": map[string]bool{"GithubCallback": true},
|
||||||
|
"File": map[string]bool{"OutputImage": true, "OutputFile": true},
|
||||||
|
"Attach": map[string]bool{"Download": true, "DownloadAll": true},
|
||||||
|
}
|
||||||
|
func needValidate(controller, method string) bool {
|
||||||
|
// 在里面
|
||||||
|
if v, ok := commonUrl[controller]; ok {
|
||||||
|
// 在commonUrl里
|
||||||
|
if _, ok2 := v[method]; ok2 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
|
// controller不在这里的, 肯定要验证
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func AuthInterceptor(c *revel.Controller) revel.Result {
|
||||||
|
// 全部变成首字大写
|
||||||
|
/*
|
||||||
|
var controller = strings.Title(c.Name)
|
||||||
|
var method = strings.Title(c.MethodName)
|
||||||
|
// 是否需要验证?
|
||||||
|
if !needValidate(controller, method) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
// 验证是否已登录
|
||||||
|
// 必须是管理员
|
||||||
|
if username, ok := c.Session["Username"]; ok && username == adminUsername {
|
||||||
|
return nil // 已登录
|
||||||
|
}
|
||||||
|
|
||||||
|
// 没有登录, 判断是否是ajax操作
|
||||||
|
if c.Request.Header.Get("X-Requested-With") == "XMLHttpRequest" {
|
||||||
|
re := info.NewRe()
|
||||||
|
re.Msg = "NOTLOGIN"
|
||||||
|
return c.RenderJson(re)
|
||||||
|
}
|
||||||
|
|
||||||
|
return c.Redirect("/login")
|
||||||
|
}
|
||||||
|
|
||||||
|
// 最外层init.go调用
|
||||||
|
// 获取service, 单例
|
||||||
|
func InitService() {
|
||||||
|
notebookService = service.NotebookS
|
||||||
|
noteService = service.NoteS
|
||||||
|
noteContentHistoryService = service.NoteContentHistoryS
|
||||||
|
trashService = service.TrashS
|
||||||
|
shareService = service.ShareS
|
||||||
|
userService = service.UserS
|
||||||
|
tagService = service.TagS
|
||||||
|
blogService = service.BlogS
|
||||||
|
tokenService = service.TokenS
|
||||||
|
noteImageService = service.NoteImageS
|
||||||
|
fileService = service.FileS
|
||||||
|
albumService= service.AlbumS
|
||||||
|
attachService = service.AttachS
|
||||||
|
pwdService = service.PwdS
|
||||||
|
suggestionService = service.SuggestionS
|
||||||
|
authService = service.AuthS
|
||||||
|
configService = service.ConfigS
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
revel.InterceptFunc(AuthInterceptor, revel.BEFORE, &Admin{})
|
||||||
|
revel.InterceptFunc(AuthInterceptor, revel.BEFORE, &AdminSetting{})
|
||||||
|
revel.InterceptFunc(AuthInterceptor, revel.BEFORE, &AdminUser{})
|
||||||
|
revel.OnAppStart(func() {
|
||||||
|
adminUsername, _ = revel.Config.String("adminUsername")
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -24,6 +24,7 @@ var albumService *service.AlbumService
|
|||||||
var noteImageService *service.NoteImageService
|
var noteImageService *service.NoteImageService
|
||||||
var fileService *service.FileService
|
var fileService *service.FileService
|
||||||
var attachService *service.AttachService
|
var attachService *service.AttachService
|
||||||
|
var configService *service.ConfigService
|
||||||
|
|
||||||
var pageSize = 1000
|
var pageSize = 1000
|
||||||
var defaultSortField = "UpdatedTime"
|
var defaultSortField = "UpdatedTime"
|
||||||
@@ -116,6 +117,7 @@ func InitService() {
|
|||||||
pwdService = service.PwdS
|
pwdService = service.PwdS
|
||||||
suggestionService = service.SuggestionS
|
suggestionService = service.SuggestionS
|
||||||
authService = service.AuthS
|
authService = service.AuthS
|
||||||
|
configService = service.ConfigS
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ var Files *mgo.Collection
|
|||||||
var Attachs *mgo.Collection
|
var Attachs *mgo.Collection
|
||||||
|
|
||||||
var NoteImages *mgo.Collection
|
var NoteImages *mgo.Collection
|
||||||
|
var Configs *mgo.Collection
|
||||||
|
|
||||||
// 初始化时连接数据库
|
// 初始化时连接数据库
|
||||||
func Init() {
|
func Init() {
|
||||||
@@ -110,6 +111,8 @@ func Init() {
|
|||||||
Attachs = Session.DB(dbname).C("attachs")
|
Attachs = Session.DB(dbname).C("attachs")
|
||||||
|
|
||||||
NoteImages = Session.DB(dbname).C("note_images")
|
NoteImages = Session.DB(dbname).C("note_images")
|
||||||
|
|
||||||
|
Configs = Session.DB(dbname).C("configs")
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ type BlogItem struct {
|
|||||||
Note
|
Note
|
||||||
Content string // 可能是content的一部分, 截取. 点击more后就是整个信息了
|
Content string // 可能是content的一部分, 截取. 点击more后就是整个信息了
|
||||||
HasMore bool // 是否是否还有
|
HasMore bool // 是否是否还有
|
||||||
|
User User // 用户信息
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserBlogBase struct {
|
type UserBlogBase struct {
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package info
|
||||||
|
|
||||||
|
import (
|
||||||
|
"gopkg.in/mgo.v2/bson"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 配置
|
||||||
|
// 用户配置高于全局配置
|
||||||
|
type Config struct {
|
||||||
|
UserId bson.ObjectId `bson:"_id"`
|
||||||
|
StringConfigs map[string]string `StringConfigs` // key => value
|
||||||
|
ArrayConfigs map[string][]string `ArrayConfigs` // key => []value
|
||||||
|
UpdatedTime time.Time `UpdatedTime`
|
||||||
|
}
|
||||||
@@ -17,9 +17,11 @@ type Note struct {
|
|||||||
|
|
||||||
ImgSrc string `ImgSrc` // 图片, 第一张缩略图地址
|
ImgSrc string `ImgSrc` // 图片, 第一张缩略图地址
|
||||||
Tags []string `Tags,omitempty`
|
Tags []string `Tags,omitempty`
|
||||||
|
|
||||||
IsTrash bool `IsTrash` // 是否是trash, 默认是false
|
IsTrash bool `IsTrash` // 是否是trash, 默认是false
|
||||||
|
|
||||||
IsBlog bool `IsBlog,omitempty` // 是否设置成了blog 2013/12/29 新加
|
IsBlog bool `IsBlog,omitempty` // 是否设置成了blog 2013/12/29 新加
|
||||||
|
IsRecommend bool `IsRecommend,omitempty` // 是否为推荐博客 2014/9/24新加
|
||||||
IsTop bool `IsTop,omitempty` // blog是否置顶
|
IsTop bool `IsTop,omitempty` // blog是否置顶
|
||||||
|
|
||||||
IsMarkdown bool `IsMarkdown` // 是否是markdown笔记, 默认是false
|
IsMarkdown bool `IsMarkdown` // 是否是markdown笔记, 默认是false
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ type User struct {
|
|||||||
Pwd string `bson:"Pwd" json:"-"`
|
Pwd string `bson:"Pwd" json:"-"`
|
||||||
CreatedTime time.Time `CreatedTime`
|
CreatedTime time.Time `CreatedTime`
|
||||||
|
|
||||||
|
Logo string `Logo` // 9-24
|
||||||
// 主题
|
// 主题
|
||||||
Theme string `Theme`
|
Theme string `Theme`
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package info
|
package info
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"math"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -11,3 +12,11 @@ type Page struct {
|
|||||||
Count int // 总记录数
|
Count int // 总记录数
|
||||||
List interface{}
|
List interface{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NewPage(page, perPageSize, count int, list interface{}) Page {
|
||||||
|
totalPage := 0
|
||||||
|
if count > 0 {
|
||||||
|
totalPage = int(math.Ceil(float64(count) / float64(perPageSize)))
|
||||||
|
}
|
||||||
|
return Page{page, totalPage, count, list}
|
||||||
|
}
|
||||||
+125
-2
@@ -5,11 +5,13 @@ import (
|
|||||||
. "github.com/leanote/leanote/app/lea"
|
. "github.com/leanote/leanote/app/lea"
|
||||||
"github.com/leanote/leanote/app/service"
|
"github.com/leanote/leanote/app/service"
|
||||||
"github.com/leanote/leanote/app/controllers"
|
"github.com/leanote/leanote/app/controllers"
|
||||||
|
"github.com/leanote/leanote/app/controllers/admin"
|
||||||
_ "github.com/leanote/leanote/app/lea/binder"
|
_ "github.com/leanote/leanote/app/lea/binder"
|
||||||
"reflect"
|
"reflect"
|
||||||
"fmt"
|
"fmt"
|
||||||
"html/template"
|
"html/template"
|
||||||
"math"
|
"math"
|
||||||
|
"strings"
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
@@ -38,9 +40,13 @@ func init() {
|
|||||||
revel.TemplateFuncs["raw"] = func(str string) template.HTML {
|
revel.TemplateFuncs["raw"] = func(str string) template.HTML {
|
||||||
return template.HTML(str)
|
return template.HTML(str)
|
||||||
}
|
}
|
||||||
revel.TemplateFuncs["add"] = func(i int) template.HTML {
|
revel.TemplateFuncs["add"] = func(i int) string {
|
||||||
i = i + 1;
|
i = i + 1;
|
||||||
return template.HTML(fmt.Sprintf("%v", i))
|
return fmt.Sprintf("%v", i)
|
||||||
|
}
|
||||||
|
revel.TemplateFuncs["sub"] = func(i int) int {
|
||||||
|
i = i - 1;
|
||||||
|
return i
|
||||||
}
|
}
|
||||||
revel.TemplateFuncs["concat"] = func(s1, s2 string) template.HTML {
|
revel.TemplateFuncs["concat"] = func(s1, s2 string) template.HTML {
|
||||||
return template.HTML(s1 + s2)
|
return template.HTML(s1 + s2)
|
||||||
@@ -78,6 +84,76 @@ func init() {
|
|||||||
return template.HTML(tagStr)
|
return template.HTML(tagStr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
revel.TemplateFuncs["li"] = func(a string) string {
|
||||||
|
Log(a)
|
||||||
|
Log("life==")
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
// str连接
|
||||||
|
revel.TemplateFuncs["urlConcat"] = func(url string, v... interface{}) string {
|
||||||
|
html := ""
|
||||||
|
for i := 0; i < len(v); i = i + 2 {
|
||||||
|
item := v[i]
|
||||||
|
if i+1 == len(v) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
value := v[i+1]
|
||||||
|
if item != nil && value != nil {
|
||||||
|
keyStr, _ := item.(string)
|
||||||
|
valueStr, err := value.(string)
|
||||||
|
if !err {
|
||||||
|
valueInt, _ := value.(int)
|
||||||
|
valueStr = strconv.Itoa(valueInt)
|
||||||
|
}
|
||||||
|
if keyStr != "" && valueStr != "" {
|
||||||
|
s := keyStr + "=" + valueStr
|
||||||
|
if html != "" {
|
||||||
|
html += "&" + s
|
||||||
|
} else {
|
||||||
|
html += s
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if html != "" {
|
||||||
|
if strings.Index(url, "?") >= 0 {
|
||||||
|
return url + "&" + html
|
||||||
|
} else {
|
||||||
|
return url + "?" + html
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return url
|
||||||
|
}
|
||||||
|
|
||||||
|
revel.TemplateFuncs["urlCond"] = func(url string, sorterI, keyords interface{}) template.HTML {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
// 为后台管理sorter th使用
|
||||||
|
// 必须要返回HTMLAttr, 返回html, golang 会执行安全检查返回ZgotmplZ
|
||||||
|
// sorterI 可能是nil, 所以用interfalce{}来接收
|
||||||
|
/*
|
||||||
|
data-url="/adminUser/index"
|
||||||
|
data-sorter="email"
|
||||||
|
class="th-sortable {{if eq .sorter "email-up"}}th-sort-up{{else}}{{if eq .sorter "email-down"}}th-sort-down{{end}}{{end}}"
|
||||||
|
*/
|
||||||
|
revel.TemplateFuncs["sorterTh"] = func(url, sorterField string, sorterI interface{}) template.HTMLAttr {
|
||||||
|
sorter := ""
|
||||||
|
if sorterI != nil {
|
||||||
|
sorter, _ = sorterI.(string)
|
||||||
|
}
|
||||||
|
html := "data-url=\"" + url + "\" data-sorter=\"" + sorterField + "\"";
|
||||||
|
html += " class=\"th-sortable ";
|
||||||
|
if sorter == sorterField + "-up" {
|
||||||
|
html += "th-sort-up\"";
|
||||||
|
} else if(sorter == sorterField + "-down") {
|
||||||
|
html += "th-sort-down";
|
||||||
|
}
|
||||||
|
html += "\"";
|
||||||
|
return template.HTMLAttr(html)
|
||||||
|
}
|
||||||
|
|
||||||
// pagination
|
// pagination
|
||||||
revel.TemplateFuncs["page"] = func(userId, notebookId string, page, pageSize, count int) template.HTML {
|
revel.TemplateFuncs["page"] = func(userId, notebookId string, page, pageSize, count int) template.HTML {
|
||||||
if count == 0 {
|
if count == 0 {
|
||||||
@@ -114,6 +190,51 @@ func init() {
|
|||||||
}
|
}
|
||||||
return template.HTML("<li class='" + preClass + "'><a href='" + preUrl + "'>Previous</a></li> <li class='" + nextClass + "'><a href='" + nextUrl + "'>Next</a></li>")
|
return template.HTML("<li class='" + preClass + "'><a href='" + preUrl + "'>Previous</a></li> <li class='" + nextClass + "'><a href='" + nextUrl + "'>Next</a></li>")
|
||||||
}
|
}
|
||||||
|
// life
|
||||||
|
// https://groups.google.com/forum/#!topic/golang-nuts/OEdSDgEC7js
|
||||||
|
// http://play.golang.org/p/snygrVpQva
|
||||||
|
// http://grokbase.com/t/gg/golang-nuts/142a6dhfh3/go-nuts-text-template-using-comparison-operators-eq-gt-etc-on-non-existent-variable-causes-the-template-to-stop-outputting-but-with-no-error-correct-behaviour
|
||||||
|
revel.TemplateFuncs["gt"] = func(a1, a2 interface{}) bool {
|
||||||
|
switch a1.(type) {
|
||||||
|
case string:
|
||||||
|
switch a2.(type) {
|
||||||
|
case string:
|
||||||
|
return reflect.ValueOf(a1).String() > reflect.ValueOf(a2).String()
|
||||||
|
}
|
||||||
|
case int, int8, int16, int32, int64:
|
||||||
|
switch a2.(type) {
|
||||||
|
case int, int8, int16, int32, int64:
|
||||||
|
return reflect.ValueOf(a1).Int() > reflect.ValueOf(a2).Int()
|
||||||
|
}
|
||||||
|
case uint, uint8, uint16, uint32, uint64:
|
||||||
|
switch a2.(type) {
|
||||||
|
case uint, uint8, uint16, uint32, uint64:
|
||||||
|
return reflect.ValueOf(a1).Uint() > reflect.ValueOf(a2).Uint()
|
||||||
|
}
|
||||||
|
case float32, float64:
|
||||||
|
switch a2.(type) {
|
||||||
|
case float32, float64:
|
||||||
|
return reflect.ValueOf(a1).Float() > reflect.ValueOf(a2).Float()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
{{range $i := N 1 10}}
|
||||||
|
<div>{{$i}}</div>
|
||||||
|
{{end}}
|
||||||
|
*/
|
||||||
|
revel.TemplateFuncs["N"] = func(start, end int) (stream chan int) {
|
||||||
|
stream = make(chan int)
|
||||||
|
go func() {
|
||||||
|
for i := start; i <= end; i++ {
|
||||||
|
stream <- i
|
||||||
|
}
|
||||||
|
close(stream)
|
||||||
|
}()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// init Email
|
// init Email
|
||||||
revel.OnAppStart(func() {
|
revel.OnAppStart(func() {
|
||||||
@@ -121,5 +242,7 @@ func init() {
|
|||||||
|
|
||||||
service.InitService()
|
service.InitService()
|
||||||
controllers.InitService()
|
controllers.InitService()
|
||||||
|
admin.InitService()
|
||||||
|
service.ConfigS.InitGlobalConfigs()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -40,7 +40,7 @@ func (this *BlogService) GetBlog(noteId string) (blog info.BlogItem) {
|
|||||||
noteContent := noteService.GetNoteContent(note.NoteId.Hex(), note.UserId.Hex())
|
noteContent := noteService.GetNoteContent(note.NoteId.Hex(), note.UserId.Hex())
|
||||||
|
|
||||||
// 组装成blogItem
|
// 组装成blogItem
|
||||||
blog = info.BlogItem{note, noteContent.Content, false}
|
blog = info.BlogItem{note, noteContent.Content, false, info.User{}}
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -84,7 +84,7 @@ func (this *BlogService) ListBlogs(userId, notebookId string, page, pageSize int
|
|||||||
if noteContent, ok := noteContentsMap[note.NoteId]; ok {
|
if noteContent, ok := noteContentsMap[note.NoteId]; ok {
|
||||||
content = noteContent.Abstract
|
content = noteContent.Abstract
|
||||||
}
|
}
|
||||||
blogs[i] = info.BlogItem{note, content, hasMore}
|
blogs[i] = info.BlogItem{note, content, hasMore, info.User{}}
|
||||||
}
|
}
|
||||||
return count, blogs
|
return count, blogs
|
||||||
}
|
}
|
||||||
@@ -119,11 +119,85 @@ func (this *BlogService) SearchBlog(key, userId string, page, pageSize int, sort
|
|||||||
if noteContent, ok := noteContentsMap[note.NoteId]; ok {
|
if noteContent, ok := noteContentsMap[note.NoteId]; ok {
|
||||||
content = noteContent.Abstract
|
content = noteContent.Abstract
|
||||||
}
|
}
|
||||||
blogs[i] = info.BlogItem{note, content, hasMore}
|
blogs[i] = info.BlogItem{note, content, hasMore, info.User{}}
|
||||||
}
|
}
|
||||||
return count, blogs
|
return count, blogs
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-------
|
||||||
|
// p
|
||||||
|
// 平台 lea+
|
||||||
|
// 博客列表
|
||||||
|
func (this *BlogService) ListAllBlogs(tag string, keywords string, isRecommend bool, page, pageSize int, sorterField string, isAsc bool) (info.Page, []info.BlogItem) {
|
||||||
|
pageInfo := info.Page{CurPage: page}
|
||||||
|
notes := []info.Note{}
|
||||||
|
|
||||||
|
skipNum, sortFieldR := parsePageAndSort(page, pageSize, sorterField, isAsc)
|
||||||
|
|
||||||
|
// 不是trash的
|
||||||
|
query := bson.M{"IsTrash": false, "IsBlog": true}
|
||||||
|
if tag != "" {
|
||||||
|
query["Tags"] = bson.M{"$in": []string{tag}}
|
||||||
|
}
|
||||||
|
if isRecommend {
|
||||||
|
query["IsRecommend"] = isRecommend
|
||||||
|
}
|
||||||
|
if keywords != "" {
|
||||||
|
query["Title"] = bson.M{"$regex": bson.RegEx{".*?" + keywords + ".*", "i"}}
|
||||||
|
}
|
||||||
|
q := db.Notes.Find(query);
|
||||||
|
|
||||||
|
// 总记录数
|
||||||
|
count, _ := q.Count()
|
||||||
|
|
||||||
|
q.Sort(sortFieldR).
|
||||||
|
Skip(skipNum).
|
||||||
|
Limit(pageSize).
|
||||||
|
All(¬es)
|
||||||
|
|
||||||
|
if(notes == nil || len(notes) == 0) {
|
||||||
|
return pageInfo, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// 得到content, 并且每个都要substring
|
||||||
|
noteIds := make([]bson.ObjectId, len(notes))
|
||||||
|
userIds := make([]bson.ObjectId, len(notes))
|
||||||
|
for i, note := range notes {
|
||||||
|
noteIds[i] = note.NoteId
|
||||||
|
userIds[i] = note.UserId
|
||||||
|
}
|
||||||
|
|
||||||
|
// 可以不要的
|
||||||
|
// 直接得到noteContents表的abstract
|
||||||
|
// 这里可能是乱序的
|
||||||
|
/*
|
||||||
|
noteContents := noteService.ListNoteAbstractsByNoteIds(noteIds) // 返回[info.NoteContent]
|
||||||
|
noteContentsMap := make(map[bson.ObjectId]info.NoteContent, len(noteContents))
|
||||||
|
for _, noteContent := range noteContents {
|
||||||
|
noteContentsMap[noteContent.NoteId] = noteContent
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
// 得到用户信息
|
||||||
|
userMap := userService.MapUserInfoAndBlogInfosByUserIds(userIds)
|
||||||
|
|
||||||
|
// 组装成blogItem
|
||||||
|
// 按照notes的顺序
|
||||||
|
blogs := make([]info.BlogItem, len(noteIds))
|
||||||
|
for i, note := range notes {
|
||||||
|
hasMore := true
|
||||||
|
var content string
|
||||||
|
/*
|
||||||
|
if noteContent, ok := noteContentsMap[note.NoteId]; ok {
|
||||||
|
content = noteContent.Abstract
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
blogs[i] = info.BlogItem{note, content, hasMore, userMap[note.UserId]}
|
||||||
|
}
|
||||||
|
pageInfo = info.NewPage(page, pageSize, count, nil)
|
||||||
|
|
||||||
|
return pageInfo, blogs
|
||||||
|
}
|
||||||
|
|
||||||
//------------------------
|
//------------------------
|
||||||
// 博客设置
|
// 博客设置
|
||||||
@@ -153,3 +227,11 @@ func (this *BlogService) UpdateUserBlogComment(userId string, userBlog info.User
|
|||||||
func (this *BlogService) UpdateUserBlogStyle(userId string, userBlog info.UserBlogStyle) bool {
|
func (this *BlogService) UpdateUserBlogStyle(userId string, userBlog info.UserBlogStyle) bool {
|
||||||
return db.UpdateByQMap(db.UserBlogs, bson.M{"_id": bson.ObjectIdHex(userId)}, userBlog)
|
return db.UpdateByQMap(db.UserBlogs, bson.M{"_id": bson.ObjectIdHex(userId)}, userBlog)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//------------
|
||||||
|
// 后台管理
|
||||||
|
|
||||||
|
// 推荐博客
|
||||||
|
func (this *BlogService) SetRecommend(noteId string, isRecommend bool) bool {
|
||||||
|
return db.UpdateByQField(db.Notes, bson.M{"_id": bson.ObjectIdHex(noteId), "IsBlog": true}, "IsRecommend", isRecommend)
|
||||||
|
}
|
||||||
@@ -0,0 +1,141 @@
|
|||||||
|
package service
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/leanote/leanote/app/info"
|
||||||
|
// . "github.com/leanote/leanote/app/lea"
|
||||||
|
"github.com/leanote/leanote/app/db"
|
||||||
|
"gopkg.in/mgo.v2/bson"
|
||||||
|
"github.com/revel/revel"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 配置服务
|
||||||
|
type ConfigService struct {
|
||||||
|
// 全局的
|
||||||
|
GlobalStringConfigs map[string]string
|
||||||
|
GlobalArrayConfigs map[string][]string
|
||||||
|
|
||||||
|
// 两种配置, 用户自己的
|
||||||
|
UserStringConfigs map[string]string
|
||||||
|
UserArrayConfigs map[string][]string
|
||||||
|
|
||||||
|
// 合并之后的
|
||||||
|
AllStringConfigs map[string]string
|
||||||
|
AllArrayConfigs map[string][]string
|
||||||
|
}
|
||||||
|
|
||||||
|
var adminUserId = ""
|
||||||
|
|
||||||
|
// appStart时 将全局的配置从数据库中得到作为全局
|
||||||
|
func (this *ConfigService) InitGlobalConfigs() bool {
|
||||||
|
this.GlobalStringConfigs = map[string]string{}
|
||||||
|
this.GlobalArrayConfigs = map[string][]string{}
|
||||||
|
|
||||||
|
this.UserStringConfigs = map[string]string{}
|
||||||
|
this.UserArrayConfigs = map[string][]string{}
|
||||||
|
|
||||||
|
this.AllStringConfigs = map[string]string{}
|
||||||
|
this.AllArrayConfigs = map[string][]string{}
|
||||||
|
|
||||||
|
adminUsername, _ := revel.Config.String("adminUsername")
|
||||||
|
if adminUsername == "" {
|
||||||
|
adminUsername = "admin"
|
||||||
|
}
|
||||||
|
|
||||||
|
userInfo := userService.GetUserInfoByAny(adminUsername)
|
||||||
|
if userInfo.UserId == "" {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
adminUserId = userInfo.UserId.Hex()
|
||||||
|
|
||||||
|
configs := info.Config{}
|
||||||
|
db.Get2(db.Configs, userInfo.UserId, &configs)
|
||||||
|
|
||||||
|
if configs.UserId == "" {
|
||||||
|
db.Insert(db.Configs, info.Config{UserId: userInfo.UserId, StringConfigs: map[string]string{}, ArrayConfigs: map[string][]string{}})
|
||||||
|
}
|
||||||
|
|
||||||
|
this.GlobalStringConfigs = configs.StringConfigs;
|
||||||
|
this.GlobalArrayConfigs = configs.ArrayConfigs;
|
||||||
|
|
||||||
|
// 复制到所有配置上
|
||||||
|
for key, value := range this.GlobalStringConfigs {
|
||||||
|
this.AllStringConfigs[key] = value
|
||||||
|
}
|
||||||
|
for key, value := range this.GlobalArrayConfigs {
|
||||||
|
this.AllArrayConfigs[key] = value
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
// 用户登录后获取用户自定义的配置, 并将所有的配置都用上
|
||||||
|
func (this *ConfigService) InitUserConfigs(userId string) bool {
|
||||||
|
configs := info.Config{}
|
||||||
|
db.Get(db.Configs, userId, &configs)
|
||||||
|
|
||||||
|
if configs.UserId == "" {
|
||||||
|
db.Insert(db.Configs, info.Config{UserId: bson.ObjectIdHex(userId), StringConfigs: map[string]string{}, ArrayConfigs: map[string][]string{}})
|
||||||
|
}
|
||||||
|
|
||||||
|
this.UserStringConfigs = configs.StringConfigs;
|
||||||
|
this.UserArrayConfigs = configs.ArrayConfigs;
|
||||||
|
|
||||||
|
// 合并配置
|
||||||
|
for key, value := range this.UserStringConfigs {
|
||||||
|
this.AllStringConfigs[key] = value
|
||||||
|
}
|
||||||
|
for key, value := range this.UserArrayConfigs {
|
||||||
|
this.AllArrayConfigs[key] = value
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取配置
|
||||||
|
func (this *ConfigService) GetStringConfig(key string) string {
|
||||||
|
return this.AllStringConfigs[key]
|
||||||
|
}
|
||||||
|
func (this *ConfigService) GetArrayConfig(key string) []string {
|
||||||
|
arr := this.AllArrayConfigs[key]
|
||||||
|
if arr == nil {
|
||||||
|
return []string{}
|
||||||
|
}
|
||||||
|
return arr
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新用户配置
|
||||||
|
func (this *ConfigService) UpdateUserStringConfig(userId, key string, value string) bool {
|
||||||
|
this.UserStringConfigs[key] = value
|
||||||
|
this.AllStringConfigs[key] = value
|
||||||
|
if userId == adminUserId {
|
||||||
|
this.GlobalStringConfigs[key] = value
|
||||||
|
}
|
||||||
|
|
||||||
|
// 保存到数据库中
|
||||||
|
return db.UpdateByQMap(db.Configs, bson.M{"_id": bson.ObjectIdHex(userId)},
|
||||||
|
bson.M{"StringConfigs": this.UserStringConfigs, "UpdatedTime": time.Now()})
|
||||||
|
}
|
||||||
|
func (this *ConfigService) UpdateUserArrayConfig(userId, key string, value []string) bool {
|
||||||
|
this.UserArrayConfigs[key] = value
|
||||||
|
this.AllArrayConfigs[key] = value
|
||||||
|
if userId == adminUserId {
|
||||||
|
this.GlobalArrayConfigs[key] = value
|
||||||
|
}
|
||||||
|
|
||||||
|
// 保存到数据库中
|
||||||
|
return db.UpdateByQMap(db.Configs, bson.M{"_id": bson.ObjectIdHex(userId)},
|
||||||
|
bson.M{"ArrayConfigs": this.UserArrayConfigs, "UpdatedTime": time.Now()})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取全局配置, 博客平台使用
|
||||||
|
func (this *ConfigService) GetGlobalStringConfig(key string) string {
|
||||||
|
return this.GlobalStringConfigs[key]
|
||||||
|
}
|
||||||
|
func (this *ConfigService) GetGlobalArrayConfig(key string) []string {
|
||||||
|
arr := this.GlobalArrayConfigs[key]
|
||||||
|
if arr == nil {
|
||||||
|
return []string{}
|
||||||
|
}
|
||||||
|
return arr
|
||||||
|
}
|
||||||
@@ -99,6 +99,29 @@ func (this *UserService) ListUserInfosByUserIds(userIds []bson.ObjectId) []info.
|
|||||||
db.ListByQ(db.Users, bson.M{"_id": bson.M{"$in": userIds}}, &users)
|
db.ListByQ(db.Users, bson.M{"_id": bson.M{"$in": userIds}}, &users)
|
||||||
return users
|
return users
|
||||||
}
|
}
|
||||||
|
// 用户信息和博客设置信息
|
||||||
|
func (this *UserService) MapUserInfoAndBlogInfosByUserIds(userIds []bson.ObjectId) map[bson.ObjectId]info.User {
|
||||||
|
users := []info.User{}
|
||||||
|
db.ListByQ(db.Users, bson.M{"_id": bson.M{"$in": userIds}}, &users)
|
||||||
|
|
||||||
|
userBlogs := []info.UserBlog{}
|
||||||
|
db.ListByQWithFields(db.UserBlogs, bson.M{"_id": bson.M{"$in": userIds}}, []string{"Logo"}, &userBlogs)
|
||||||
|
|
||||||
|
userBlogMap := make(map[bson.ObjectId]info.UserBlog, len(userBlogs))
|
||||||
|
for _, user := range userBlogs {
|
||||||
|
userBlogMap[user.UserId] = user
|
||||||
|
}
|
||||||
|
|
||||||
|
userMap := make(map[bson.ObjectId]info.User, len(users))
|
||||||
|
for _, user := range users {
|
||||||
|
if userBlog, ok := userBlogMap[user.UserId]; ok {
|
||||||
|
user.Logo = userBlog.Logo
|
||||||
|
}
|
||||||
|
userMap[user.UserId] = user
|
||||||
|
}
|
||||||
|
|
||||||
|
return userMap
|
||||||
|
}
|
||||||
|
|
||||||
// 通过ids得到users, 按id的顺序组织users
|
// 通过ids得到users, 按id的顺序组织users
|
||||||
func (this *UserService) GetUserInfosOrderBySeq(userIds []bson.ObjectId) []info.User {
|
func (this *UserService) GetUserInfosOrderBySeq(userIds []bson.ObjectId) []info.User {
|
||||||
@@ -135,7 +158,7 @@ func (this *UserService) LoginGetUserInfo(emailOrUsername, md5Pwd string) info.U
|
|||||||
|
|
||||||
// 更新username
|
// 更新username
|
||||||
func (this *UserService) UpdateUsername(userId, username string) (bool, string) {
|
func (this *UserService) UpdateUsername(userId, username string) (bool, string) {
|
||||||
if userId == "" || username == "" {
|
if userId == "" || username == "" || username == "admin" { // admin用户是内置的, 不能设置
|
||||||
return false, "用户已存在"
|
return false, "用户已存在"
|
||||||
}
|
}
|
||||||
usernameRaw := username // 原先的, 可能是同一个, 但有大小写
|
usernameRaw := username // 原先的, 可能是同一个, 但有大小写
|
||||||
@@ -297,3 +320,24 @@ func (this *UserService)UpdateColumnWidth(userId string, notebookWidth, noteList
|
|||||||
func (this *UserService)UpdateLeftIsMin(userId string, leftIsMin bool) bool {
|
func (this *UserService)UpdateLeftIsMin(userId string, leftIsMin bool) bool {
|
||||||
return db.UpdateByQMap(db.Users, bson.M{"_id": bson.ObjectIdHex(userId)}, bson.M{"LeftIsMin": leftIsMin})
|
return db.UpdateByQMap(db.Users, bson.M{"_id": bson.ObjectIdHex(userId)}, bson.M{"LeftIsMin": leftIsMin})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-------------
|
||||||
|
// user admin
|
||||||
|
func (this *UserService) ListUsers(pageNumber, pageSize int, sortField string, isAsc bool, email string) (page info.Page, users []info.User) {
|
||||||
|
users = []info.User{}
|
||||||
|
skipNum, sortFieldR := parsePageAndSort(pageNumber, pageSize, sortField, isAsc)
|
||||||
|
query := bson.M{}
|
||||||
|
if email != "" {
|
||||||
|
query["Email"] = bson.M{"$regex": bson.RegEx{".*?" + email + ".*", "i"}}
|
||||||
|
}
|
||||||
|
q := db.Users.Find(query);
|
||||||
|
// 总记录数
|
||||||
|
count, _ := q.Count()
|
||||||
|
// 列表
|
||||||
|
q.Sort(sortFieldR).
|
||||||
|
Skip(skipNum).
|
||||||
|
Limit(pageSize).
|
||||||
|
All(&users)
|
||||||
|
page = info.NewPage(pageNumber, pageSize, count, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
@@ -21,6 +21,7 @@ var noteImageService, NoteImageS *NoteImageService
|
|||||||
var fileService, FileS *FileService
|
var fileService, FileS *FileService
|
||||||
var albumService, AlbumS *AlbumService
|
var albumService, AlbumS *AlbumService
|
||||||
var attachService, AttachS *AttachService
|
var attachService, AttachS *AttachService
|
||||||
|
var configService, ConfigS *ConfigService
|
||||||
var PwdS *PwdService
|
var PwdS *PwdService
|
||||||
var SuggestionS *SuggestionService
|
var SuggestionS *SuggestionService
|
||||||
var AuthS *AuthService
|
var AuthS *AuthService
|
||||||
@@ -40,6 +41,7 @@ func InitService() {
|
|||||||
FileS = &FileService{}
|
FileS = &FileService{}
|
||||||
AlbumS = &AlbumService{}
|
AlbumS = &AlbumService{}
|
||||||
AttachS = &AttachService{}
|
AttachS = &AttachService{}
|
||||||
|
ConfigS = &ConfigService{}
|
||||||
PwdS = &PwdService{}
|
PwdS = &PwdService{}
|
||||||
SuggestionS = &SuggestionService{}
|
SuggestionS = &SuggestionService{}
|
||||||
AuthS = &AuthService{}
|
AuthS = &AuthService{}
|
||||||
@@ -57,4 +59,5 @@ func InitService() {
|
|||||||
fileService = FileS
|
fileService = FileS
|
||||||
albumService = AlbumS
|
albumService = AlbumS
|
||||||
attachService = AttachS
|
attachService = AttachS
|
||||||
|
configService = ConfigS
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,175 @@
|
|||||||
|
{{template "admin/top.html" .}}
|
||||||
|
<div class="m-b-md"> <h3 class="m-b-none">Blog</h3></div>
|
||||||
|
|
||||||
|
<section class="panel panel-default">
|
||||||
|
<div class="row wrapper">
|
||||||
|
<div class="col-sm-5 m-b-xs">
|
||||||
|
<select class="input-sm form-control input-s-sm inline v-middle">
|
||||||
|
<option value="0">
|
||||||
|
Bulk action
|
||||||
|
</option>
|
||||||
|
<option value="1">
|
||||||
|
Delete selected
|
||||||
|
</option>
|
||||||
|
<option value="2">
|
||||||
|
Bulk edit
|
||||||
|
</option>
|
||||||
|
<option value="3">
|
||||||
|
Export
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
<button class="btn btn-sm btn-default">
|
||||||
|
Apply
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4 m-b-xs">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<div class="input-group search-group">
|
||||||
|
<input type="text" class="input-sm form-control" placeholder="Title" id="keywords" value="{{.keywords}}" />
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button class="btn btn-sm btn-default" type="button" data-url="/adminBlog/index">Search</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped b-t b-light">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th width="20">
|
||||||
|
<input type="checkbox">
|
||||||
|
</th>
|
||||||
|
{{$url := urlConcat "/adminBlog/index" "keywords" .keywords}}
|
||||||
|
<th
|
||||||
|
{{sorterTh $url "title" .sorter}}
|
||||||
|
>
|
||||||
|
Title
|
||||||
|
<span class="th-sort">
|
||||||
|
<i class="fa fa-sort-down"></i>
|
||||||
|
<i class="fa fa-sort-up"></i>
|
||||||
|
<i class="fa fa-sort"></i>
|
||||||
|
</span>
|
||||||
|
</th>
|
||||||
|
<th
|
||||||
|
{{sorterTh $url "userId" .sorter}}
|
||||||
|
>
|
||||||
|
Username
|
||||||
|
<span class="th-sort">
|
||||||
|
<i class="fa fa-sort-down"></i>
|
||||||
|
<i class="fa fa-sort-up"></i>
|
||||||
|
<i class="fa fa-sort"></i>
|
||||||
|
</span>
|
||||||
|
</th>
|
||||||
|
<th
|
||||||
|
{{sorterTh $url "isRecommend" .sorter}}
|
||||||
|
>
|
||||||
|
isRecommend
|
||||||
|
<span class="th-sort">
|
||||||
|
<i class="fa fa-sort-down"></i>
|
||||||
|
<i class="fa fa-sort-up"></i>
|
||||||
|
<i class="fa fa-sort"></i>
|
||||||
|
</span>
|
||||||
|
</th>
|
||||||
|
<th
|
||||||
|
{{sorterTh $url "createdTime" .sorter}}
|
||||||
|
>
|
||||||
|
Create Date
|
||||||
|
<span class="th-sort">
|
||||||
|
<i class="fa fa-sort-down"></i>
|
||||||
|
<i class="fa fa-sort-up"></i>
|
||||||
|
<i class="fa fa-sort"></i>
|
||||||
|
</span>
|
||||||
|
</th>
|
||||||
|
<th width="30">
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{range .blogs}}
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<input type="checkbox" name="post[]" value="2">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="/blog/view/{{.NoteId.Hex}}" target="_blank">{{.Title|raw}}</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="/blog/{{.UserId.Hex}}" target="_blank">
|
||||||
|
{{.User.Username}}
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<button data-loading-text="..." class="btn btn-default change-recommend" data-id="{{.NoteId.Hex}}" data-recommend="{{if .IsRecommend}}1{{else}}0{{end}}">
|
||||||
|
{{if .IsRecommend}}
|
||||||
|
Y
|
||||||
|
{{else}}
|
||||||
|
N
|
||||||
|
{{end}}
|
||||||
|
</button>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{.CreatedTime|datetime}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="#" class="btn btn-default">Send Email</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{end}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<footer class="panel-footer">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-4 hidden-xs">
|
||||||
|
<select class="input-sm form-control input-s-sm inline v-middle">
|
||||||
|
<option value="0">
|
||||||
|
Bulk action
|
||||||
|
</option>
|
||||||
|
<option value="1">
|
||||||
|
Delete selected
|
||||||
|
</option>
|
||||||
|
<option value="2">
|
||||||
|
Bulk edit
|
||||||
|
</option>
|
||||||
|
<option value="3">
|
||||||
|
Export
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
<button class="btn btn-sm btn-default">
|
||||||
|
Apply
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4 text-center">
|
||||||
|
<small class="text-muted inline m-t-sm m-b-sm">
|
||||||
|
showing 20-30 of 50 items
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4 text-right text-center-xs">
|
||||||
|
{{set . "url" (urlConcat "/adminBlog/index" "sorter" .sorter "keywords" .keywords)}}
|
||||||
|
{{template "admin/user/page.html" .}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
{{template "admin/footer.html" .}}
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(function() {
|
||||||
|
$(".change-recommend").click(function() {
|
||||||
|
var isRecommend = +$(this).data("recommend");
|
||||||
|
var noteId = $(this).data("id");
|
||||||
|
var t = this;
|
||||||
|
$(t).button("loading");
|
||||||
|
ajaxGet("/adminBlog/setRecommend", {noteId: noteId, recommend: !isRecommend}, function() {
|
||||||
|
$(t).button("reset");
|
||||||
|
$(t).text(isRecommend ? "N" : "Y");
|
||||||
|
$(t).data("recommend", !isRecommend);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{{template "admin/end.html" .}}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
{{if gt .pageInfo.TotalPage 1}}
|
||||||
|
<ul class="pagination pagination-sm m-t-none m-b-none">
|
||||||
|
<li class="{{if eq $.pageInfo.CurPage 1}}disabled{{end}}" >
|
||||||
|
<a href="{{if eq $.pageInfo.CurPage 1}}javascript:;{{else}}{{sub $.pageInfo.CurPage | urlConcat $.url "page" }}{{end}}">
|
||||||
|
<i class="fa fa-chevron-left">
|
||||||
|
</i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
{{range $i := N 1 .pageInfo.TotalPage}}
|
||||||
|
{{if eq $i $.pageInfo.CurPage}}
|
||||||
|
<li class="active">
|
||||||
|
<a href="javascript:;">
|
||||||
|
{{$i}}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{else}}
|
||||||
|
<li class="">
|
||||||
|
<a href="{{urlConcat $.url "page" $i}}">
|
||||||
|
{{$i}}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
|
||||||
|
<li class="{{if eq .pageInfo.CurPage .pageInfo.TotalPage}}disabled{{end}}" >
|
||||||
|
<a href="{{if eq .pageInfo.CurPage .pageInfo.TotalPage}}javascript:;{{else}}{{add $.pageInfo.CurPage | urlConcat $.url "page" }}{{end}}">
|
||||||
|
<i class="fa fa-chevron-right">
|
||||||
|
</i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
{{end}}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
{{template "admin/top.html" .}}
|
||||||
|
<div class="m-b-md"> <h3 class="m-b-none">Blog</h3></div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<form id="add_user_form">
|
||||||
|
<section class="panel panel-default">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="form-group">
|
||||||
|
<label>Recommend Tags</label>
|
||||||
|
<input type="text" class="form-control" name="recommendTags" value="{{.recommendTags}}">
|
||||||
|
Split by ','
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label>New Tags</label>
|
||||||
|
<input type="text" class="form-control" name="newTags" value="{{.newTags}}">
|
||||||
|
Split by ','
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="panel-footer text-right bg-light lter">
|
||||||
|
<button type="submit" id="submit" class="btn btn-success btn-s-xs">Submit</button>
|
||||||
|
</footer>
|
||||||
|
</section>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{template "admin/footer.html" .}}
|
||||||
|
<script src="/public/admin/js/jquery-validation-1.13.0/jquery.validate.js"></script>
|
||||||
|
<script>
|
||||||
|
$(function() {
|
||||||
|
init_validator("#add_user_form");
|
||||||
|
|
||||||
|
$("#submit").click(function(e){
|
||||||
|
e.preventDefault();
|
||||||
|
var t = this;
|
||||||
|
if($("#add_user_form").valid()) {
|
||||||
|
$(t).button('loading');
|
||||||
|
ajaxPost("/adminSetting/doBlogTag", getFormJsonData("add_user_form"), function(ret){
|
||||||
|
$(t).button('reset')
|
||||||
|
if(!ret.Ok) {
|
||||||
|
art.alert(ret.Msg)
|
||||||
|
} else {
|
||||||
|
art.tips("Success");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{{template "admin/end.html" .}}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
{{template "admin/top.html" .}}
|
||||||
|
<div class="m-b-md"> <h3 class="m-b-none">Demo User</h3></div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<form id="add_user_form">
|
||||||
|
<section class="panel panel-default">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="form-group">
|
||||||
|
<label>Demo Username</label>
|
||||||
|
<input type="text" class="form-control" name="demoUsername" value="{{.demoUsername}}">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label>Demo Password</label>
|
||||||
|
<input type="text" class="form-control" name="demoPassword" value="{{.demoPassword}}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="panel-footer text-right bg-light lter">
|
||||||
|
<button type="submit" id="submit" class="btn btn-success btn-s-xs">Submit</button>
|
||||||
|
</footer>
|
||||||
|
</section>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{template "admin/footer.html" .}}
|
||||||
|
<script src="/public/admin/js/jquery-validation-1.13.0/jquery.validate.js"></script>
|
||||||
|
<script>
|
||||||
|
$(function() {
|
||||||
|
init_validator("#add_user_form");
|
||||||
|
$("#submit").click(function(e){
|
||||||
|
e.preventDefault();
|
||||||
|
var t = this;
|
||||||
|
if($("#add_user_form").valid()) {
|
||||||
|
$(t).button('loading');
|
||||||
|
ajaxPost("/adminSetting/doDemo", getFormJsonData("add_user_form"), function(ret){
|
||||||
|
$(t).button('reset')
|
||||||
|
if(!ret.Ok) {
|
||||||
|
art.alert(ret.Msg)
|
||||||
|
} else {
|
||||||
|
art.tips("Success");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{{template "admin/end.html" .}}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
{{template "admin/top.html" .}}
|
||||||
|
<div class="m-b-md"> <h3 class="m-b-none">Add User</h3></div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<form id="add_user_form">
|
||||||
|
<section class="panel panel-default">
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="form-group">
|
||||||
|
<label>Email</label>
|
||||||
|
<input type="text" class="form-control" name="email" data-rule-required="true" data-rule-email="true">
|
||||||
|
</div>
|
||||||
|
<div class="form-group pull-in clearfix">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<label>Enter password</label>
|
||||||
|
<input type="password" class="form-control" data-rule-required="true" id="pwd" name="pwd" data-rule-minlength="6">
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<label>Confirm password</label>
|
||||||
|
<input type="password" class="form-control parsley-validated" data-rule-equalto="#pwd" data-rule-required="true" name="password2">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<footer class="panel-footer text-right bg-light lter">
|
||||||
|
<button type="submit" id="submit" class="btn btn-success btn-s-xs">Submit</button>
|
||||||
|
</footer>
|
||||||
|
</section>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{template "admin/footer.html" .}}
|
||||||
|
<script src="/public/admin/js/jquery-validation-1.13.0/jquery.validate.js"></script>
|
||||||
|
<script>
|
||||||
|
$(function() {
|
||||||
|
init_validator("#add_user_form");
|
||||||
|
|
||||||
|
$("#submit").click(function(e){
|
||||||
|
e.preventDefault();
|
||||||
|
var t = this;
|
||||||
|
if($("#add_user_form").valid()) {
|
||||||
|
$(t).button('loading');
|
||||||
|
ajaxPost("/auth/doRegister", getFormJsonData("add_user_form"), function(ret){
|
||||||
|
$(t).button('reset')
|
||||||
|
if(!ret.Ok) {
|
||||||
|
art.alert(ret.Msg)
|
||||||
|
} else {
|
||||||
|
art.tips("Success");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{{template "admin/end.html" .}}
|
||||||
@@ -0,0 +1,163 @@
|
|||||||
|
{{template "admin/top.html" .}}
|
||||||
|
<div class="m-b-md"> <h3 class="m-b-none">User</h3></div>
|
||||||
|
|
||||||
|
<section class="panel panel-default">
|
||||||
|
<div class="row wrapper">
|
||||||
|
<div class="col-sm-5 m-b-xs">
|
||||||
|
<select class="input-sm form-control input-s-sm inline v-middle">
|
||||||
|
<option value="0">
|
||||||
|
Bulk action
|
||||||
|
</option>
|
||||||
|
<option value="1">
|
||||||
|
Delete selected
|
||||||
|
</option>
|
||||||
|
<option value="2">
|
||||||
|
Bulk edit
|
||||||
|
</option>
|
||||||
|
<option value="3">
|
||||||
|
Export
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
<button class="btn btn-sm btn-default">
|
||||||
|
Apply
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4 m-b-xs">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<div class="input-group search-group">
|
||||||
|
<input type="text" class="input-sm form-control" placeholder="Email" id="keywords" value="{{.keywords}}" />
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button class="btn btn-sm btn-default" type="button" data-url="/adminUser/index">Search</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped b-t b-light">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th width="20">
|
||||||
|
<input type="checkbox">
|
||||||
|
</th>
|
||||||
|
{{$url := urlConcat "/adminUser/index" "keywords" .keywords}}
|
||||||
|
<th
|
||||||
|
{{sorterTh $url "email" .sorter}}
|
||||||
|
>
|
||||||
|
Email
|
||||||
|
<span class="th-sort">
|
||||||
|
<i class="fa fa-sort-down"></i>
|
||||||
|
<i class="fa fa-sort-up"></i>
|
||||||
|
<i class="fa fa-sort"></i>
|
||||||
|
</span>
|
||||||
|
</th>
|
||||||
|
<th
|
||||||
|
{{sorterTh $url "username" .sorter}}
|
||||||
|
>
|
||||||
|
Username
|
||||||
|
<span class="th-sort">
|
||||||
|
<i class="fa fa-sort-down"></i>
|
||||||
|
<i class="fa fa-sort-up"></i>
|
||||||
|
<i class="fa fa-sort"></i>
|
||||||
|
</span>
|
||||||
|
</th>
|
||||||
|
<th
|
||||||
|
{{sorterTh $url "verified" .sorter}}
|
||||||
|
>
|
||||||
|
Verified
|
||||||
|
<span class="th-sort">
|
||||||
|
<i class="fa fa-sort-down"></i>
|
||||||
|
<i class="fa fa-sort-up"></i>
|
||||||
|
<i class="fa fa-sort"></i>
|
||||||
|
</span>
|
||||||
|
</th>
|
||||||
|
<th
|
||||||
|
{{sorterTh $url "createdTime" .sorter}}
|
||||||
|
>
|
||||||
|
Register Date
|
||||||
|
<span class="th-sort">
|
||||||
|
<i class="fa fa-sort-down"></i>
|
||||||
|
<i class="fa fa-sort-up"></i>
|
||||||
|
<i class="fa fa-sort"></i>
|
||||||
|
</span>
|
||||||
|
</th>
|
||||||
|
<th width="30">
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{range .users}}
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<input type="checkbox" name="post[]" value="2">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{.Email}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{.Username}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{.Verified}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{.CreatedTime|datetime}}
|
||||||
|
<a href="#" class="active" data-toggle="class">
|
||||||
|
<i class="fa fa-check text-success text-active">
|
||||||
|
</i>
|
||||||
|
<i class="fa fa-times text-danger text">
|
||||||
|
</i>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="#" class="btn btn-default">Send Email</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{end}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<footer class="panel-footer">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-4 hidden-xs">
|
||||||
|
<select class="input-sm form-control input-s-sm inline v-middle">
|
||||||
|
<option value="0">
|
||||||
|
Bulk action
|
||||||
|
</option>
|
||||||
|
<option value="1">
|
||||||
|
Delete selected
|
||||||
|
</option>
|
||||||
|
<option value="2">
|
||||||
|
Bulk edit
|
||||||
|
</option>
|
||||||
|
<option value="3">
|
||||||
|
Export
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
<button class="btn btn-sm btn-default">
|
||||||
|
Apply
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4 text-center">
|
||||||
|
<small class="text-muted inline m-t-sm m-b-sm">
|
||||||
|
showing 20-30 of 50 items
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4 text-right text-center-xs">
|
||||||
|
{{set . "url" (urlConcat "/adminUser/index" "sorter" .sorter "keywords" .keywords)}}
|
||||||
|
{{template "admin/user/page.html" .}}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
{{template "admin/footer.html" .}}
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(function() {
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{{template "admin/end.html" .}}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
{{if gt .pageInfo.TotalPage 1}}
|
||||||
|
<ul class="pagination pagination-sm m-t-none m-b-none">
|
||||||
|
<li class="{{if eq $.pageInfo.CurPage 1}}disabled{{end}}" >
|
||||||
|
<a href="{{if eq $.pageInfo.CurPage 1}}javascript:;{{else}}{{sub $.pageInfo.CurPage | urlConcat $.url "page" }}{{end}}">
|
||||||
|
<i class="fa fa-chevron-left">
|
||||||
|
</i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
{{range $i := N 1 .pageInfo.TotalPage}}
|
||||||
|
{{if eq $i $.pageInfo.CurPage}}
|
||||||
|
<li class="active">
|
||||||
|
<a href="javascript:;">
|
||||||
|
{{$i}}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{else}}
|
||||||
|
<li class="">
|
||||||
|
<a href="{{urlConcat $.url "page" $i}}">
|
||||||
|
{{$i}}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
|
||||||
|
<li class="{{if eq .pageInfo.CurPage .pageInfo.TotalPage}}disabled{{end}}" >
|
||||||
|
<a href="{{if eq .pageInfo.CurPage .pageInfo.TotalPage}}javascript:;{{else}}{{add $.pageInfo.CurPage | urlConcat $.url "page" }}{{end}}">
|
||||||
|
<i class="fa fa-chevron-right">
|
||||||
|
</i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
{{end}}
|
||||||
@@ -0,0 +1,639 @@
|
|||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="col-md-6">
|
||||||
|
<h4 class="m-t-xs">
|
||||||
|
Button options
|
||||||
|
</h4>
|
||||||
|
<div class="doc-buttons">
|
||||||
|
<a href="#" class="btn btn-s-md btn-default">
|
||||||
|
Default
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-s-md btn-primary">
|
||||||
|
Primary
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-s-md btn-success">
|
||||||
|
Success
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-s-md btn-info">
|
||||||
|
Info
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-s-md btn-warning">
|
||||||
|
Warning
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-s-md btn-danger">
|
||||||
|
Danger
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-s-md btn-dark">
|
||||||
|
Dark
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-s-md btn-default disabled">
|
||||||
|
Disabled
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<h4 class="m-t">
|
||||||
|
Button size
|
||||||
|
</h4>
|
||||||
|
<p>
|
||||||
|
<a href="#" class="btn btn-default btn-lg">
|
||||||
|
Large button
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a href="#" class="btn btn-default">
|
||||||
|
Default button
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a href="#" class="btn btn-default btn-sm">
|
||||||
|
Small button
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a href="#" class="btn btn-default btn-xs">
|
||||||
|
Extra small button
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<h4 class="m-t-lg">
|
||||||
|
Button dropdowns
|
||||||
|
</h4>
|
||||||
|
<p class="text-muted">
|
||||||
|
Single button dropdowns
|
||||||
|
</p>
|
||||||
|
<div class="m-b-sm">
|
||||||
|
<div class="btn-group">
|
||||||
|
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||||
|
Action
|
||||||
|
<span class="caret">
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Action
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Another action
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Something else here
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="divider">
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Separated link
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button class="btn btn-success dropdown-toggle" data-toggle="dropdown">
|
||||||
|
Action
|
||||||
|
<span class="caret">
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Action
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Another action
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Something else here
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="divider">
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Separated link
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="m-b-sm">
|
||||||
|
<div class="btn-group">
|
||||||
|
<button class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown">
|
||||||
|
Action
|
||||||
|
<span class="caret">
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Action
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Another action
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Something else here
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="divider">
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Separated link
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="m-b-sm">
|
||||||
|
<div class="btn-group">
|
||||||
|
<button class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown">
|
||||||
|
Action
|
||||||
|
<span class="caret">
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Action
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Another action
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Something else here
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="divider">
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Separated link
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p class="text-muted">
|
||||||
|
Split button dropdowns & variation
|
||||||
|
</p>
|
||||||
|
<div class="m-b-sm">
|
||||||
|
<div class="btn-group">
|
||||||
|
<button class="btn btn-default">
|
||||||
|
Action
|
||||||
|
</button>
|
||||||
|
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||||
|
<span class="caret">
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Action
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Another action
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Something else here
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="divider">
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Separated link
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="btn-group dropup">
|
||||||
|
<button class="btn btn-default">
|
||||||
|
Action
|
||||||
|
</button>
|
||||||
|
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||||
|
<span class="caret">
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Action
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Another action
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Something else here
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="divider">
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Separated link
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<h4 class="m-t-lg">
|
||||||
|
Button with icon
|
||||||
|
</h4>
|
||||||
|
<p>
|
||||||
|
<a href="#" class="btn btn-default">
|
||||||
|
<i class="fa fa-html5">
|
||||||
|
</i>
|
||||||
|
Html5
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-info">
|
||||||
|
<i class="fa fa-css3">
|
||||||
|
</i>
|
||||||
|
CSS3
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a href="#" class="btn btn-default btn-lg btn-block">
|
||||||
|
<i class="fa fa-bars pull-right">
|
||||||
|
</i>
|
||||||
|
Block button with icon
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a href="#" class="btn btn-default btn-block">
|
||||||
|
<i class="fa fa-bars pull-left">
|
||||||
|
</i>
|
||||||
|
Block button with icon
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<h4 class="m-t-lg">
|
||||||
|
Button icon
|
||||||
|
</h4>
|
||||||
|
<p id="social-buttons">
|
||||||
|
<a href="#" class="btn btn-sm btn-icon btn-info">
|
||||||
|
<i class="fa fa-twitter">
|
||||||
|
</i>
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-sm btn-icon btn-success">
|
||||||
|
<i class="fa fa-facebook">
|
||||||
|
</i>
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-sm btn-icon btn-danger">
|
||||||
|
<i class="fa fa-google-plus">
|
||||||
|
</i>
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<h4 class="m-t-lg">
|
||||||
|
Button icon rounded
|
||||||
|
</h4>
|
||||||
|
<p id="social-buttons">
|
||||||
|
<a href="#" class="btn btn-rounded btn-sm btn-icon btn-default">
|
||||||
|
<i class="fa fa-twitter">
|
||||||
|
</i>
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-rounded btn-sm btn-icon btn-default">
|
||||||
|
<i class="fa fa-facebook">
|
||||||
|
</i>
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-rounded btn-sm btn-icon btn-default">
|
||||||
|
<i class="fa fa-google-plus">
|
||||||
|
</i>
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<h4 class="m-t-xs">
|
||||||
|
Rounded button
|
||||||
|
</h4>
|
||||||
|
<div class="doc-buttons">
|
||||||
|
<a href="#" class="btn btn-s-md btn-default btn-rounded">
|
||||||
|
Default
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-s-md btn-primary btn-rounded">
|
||||||
|
Primary
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-s-md btn-success btn-rounded">
|
||||||
|
Success
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-s-md btn-info btn-rounded">
|
||||||
|
Info
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-s-md btn-warning btn-rounded">
|
||||||
|
Warning
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-s-md btn-danger btn-rounded">
|
||||||
|
Danger
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-s-md btn-dark btn-rounded">
|
||||||
|
Dark
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-s-md btn-default btn-rounded disabled">
|
||||||
|
Disabled
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<h4 class="m-t-lg">
|
||||||
|
Button groups
|
||||||
|
</h4>
|
||||||
|
<div class="m-b-sm">
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default">
|
||||||
|
Left
|
||||||
|
</button>
|
||||||
|
<button type="button" class="btn btn-default">
|
||||||
|
Middle
|
||||||
|
</button>
|
||||||
|
<button type="button" class="btn btn-default">
|
||||||
|
Right
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p class="text-muted">
|
||||||
|
Vertical button groups
|
||||||
|
</p>
|
||||||
|
<div class="btn-group-vertical m-b-sm">
|
||||||
|
<button type="button" class="btn btn-default">
|
||||||
|
Top
|
||||||
|
</button>
|
||||||
|
<button type="button" class="btn btn-default">
|
||||||
|
Middle
|
||||||
|
</button>
|
||||||
|
<button type="button" class="btn btn-default">
|
||||||
|
Bottom
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<p class="text-muted">
|
||||||
|
Nested button groups
|
||||||
|
</p>
|
||||||
|
<div class="btn-group m-b-sm">
|
||||||
|
<button type="button" class="btn btn-default">
|
||||||
|
1
|
||||||
|
</button>
|
||||||
|
<button type="button" class="btn btn-success">
|
||||||
|
2
|
||||||
|
</button>
|
||||||
|
<button type="button" class="btn btn-default">
|
||||||
|
3
|
||||||
|
</button>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||||
|
Dropdown
|
||||||
|
<span class="caret">
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Dropdown link
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Dropdown link
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Dropdown link
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p class="text-muted">
|
||||||
|
Justified button groups
|
||||||
|
</p>
|
||||||
|
<div class="m-b-sm">
|
||||||
|
<div class="btn-group btn-group-justified">
|
||||||
|
<a href="#" class="btn btn-primary">
|
||||||
|
Left
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-info">
|
||||||
|
Middle
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-success">
|
||||||
|
Right
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p class="text-muted">
|
||||||
|
Multiple button groups
|
||||||
|
</p>
|
||||||
|
<div class="btn-toolbar">
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default">
|
||||||
|
1
|
||||||
|
</button>
|
||||||
|
<button type="button" class="btn btn-default active">
|
||||||
|
2
|
||||||
|
</button>
|
||||||
|
<button type="button" class="btn btn-default">
|
||||||
|
3
|
||||||
|
</button>
|
||||||
|
<button type="button" class="btn btn-default">
|
||||||
|
4
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default">
|
||||||
|
5
|
||||||
|
</button>
|
||||||
|
<button type="button" class="btn btn-default">
|
||||||
|
6
|
||||||
|
</button>
|
||||||
|
<button type="button" class="btn btn-default">
|
||||||
|
7
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-default">
|
||||||
|
8
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<h4 class="m-t-lg">
|
||||||
|
Button components
|
||||||
|
</h4>
|
||||||
|
<p class="text-muted">
|
||||||
|
<span>
|
||||||
|
There are a few easy ways to quickly get started with Bootstrap, each
|
||||||
|
one ...
|
||||||
|
</span>
|
||||||
|
<span class="text-muted hide" id="moreless">
|
||||||
|
appealing to a different skill level and use case. Read through to see
|
||||||
|
what suits your particular needs.
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<button href="#moreless" class="btn btn-sm btn-default" data-toggle="class:show">
|
||||||
|
<i class="fa fa-plus text">
|
||||||
|
</i>
|
||||||
|
<span class="text">
|
||||||
|
More
|
||||||
|
</span>
|
||||||
|
<i class="fa fa-minus text-active">
|
||||||
|
</i>
|
||||||
|
<span class="text-active">
|
||||||
|
Less
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<button class="btn btn-default" id="btn-1" href="#btn-1" data-toggle="class:btn-success">
|
||||||
|
<i class="fa fa-cloud-upload text">
|
||||||
|
</i>
|
||||||
|
<span class="text">
|
||||||
|
Upload
|
||||||
|
</span>
|
||||||
|
<i class="fa fa-check text-active">
|
||||||
|
</i>
|
||||||
|
<span class="text-active">
|
||||||
|
Success
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<button class="btn btn-default" data-toggle="button">
|
||||||
|
<i class="fa fa-heart-o text">
|
||||||
|
</i>
|
||||||
|
<i class="fa fa-heart text-active text-danger">
|
||||||
|
</i>
|
||||||
|
</button>
|
||||||
|
<button class="btn btn-default" data-toggle="button">
|
||||||
|
<span class="text">
|
||||||
|
<i class="fa fa-thumbs-up text-success">
|
||||||
|
</i>
|
||||||
|
25
|
||||||
|
</span>
|
||||||
|
<span class="text-active">
|
||||||
|
<i class="fa fa-thumbs-down text-danger">
|
||||||
|
</i>
|
||||||
|
10
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<button class="btn btn-success" data-toggle="class:show inline" data-target="#spin"
|
||||||
|
data-loading-text="Saving...">
|
||||||
|
Save
|
||||||
|
</button>
|
||||||
|
<i class="fa fa-spin fa-spinner hide" id="spin">
|
||||||
|
</i>
|
||||||
|
</p>
|
||||||
|
<div class="m-b-sm">
|
||||||
|
<div class="btn-group" data-toggle="buttons">
|
||||||
|
<label class="btn btn-sm btn-info active">
|
||||||
|
<input type="radio" name="options" id="option1">
|
||||||
|
<i class="fa fa-check text-active">
|
||||||
|
</i>
|
||||||
|
Male
|
||||||
|
</label>
|
||||||
|
<label class="btn btn-sm btn-success">
|
||||||
|
<input type="radio" name="options" id="option2">
|
||||||
|
<i class="fa fa-check text-active">
|
||||||
|
</i>
|
||||||
|
Female
|
||||||
|
</label>
|
||||||
|
<label class="btn btn-sm btn-primary">
|
||||||
|
<input type="radio" name="options" id="option3">
|
||||||
|
<i class="fa fa-check text-active">
|
||||||
|
</i>
|
||||||
|
N/A
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="m-b-sm">
|
||||||
|
<div class="btn-group" data-toggle="buttons">
|
||||||
|
<label class="btn btn-sm btn-default">
|
||||||
|
<input type="checkbox" name="options" id="option1">
|
||||||
|
option1
|
||||||
|
</label>
|
||||||
|
<label class="btn btn-sm btn-default">
|
||||||
|
<input type="checkbox" name="options" id="option2">
|
||||||
|
option2
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<h5 class="m-t-lg">
|
||||||
|
Select Button
|
||||||
|
</h5>
|
||||||
|
<div class="btn-group m-r">
|
||||||
|
<button data-toggle="dropdown" class="btn btn-sm btn-default dropdown-toggle">
|
||||||
|
<span class="dropdown-label">
|
||||||
|
Option1
|
||||||
|
</span>
|
||||||
|
<span class="caret">
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<ul class="dropdown-menu dropdown-select">
|
||||||
|
<li class="active">
|
||||||
|
<a href="#">
|
||||||
|
<input type="radio" name="d-s-r" checked="">
|
||||||
|
Option1
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
<input type="radio" name="d-s-r">
|
||||||
|
Option2
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
<input type="radio" name="d-s-r">
|
||||||
|
Option3
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="disabled">
|
||||||
|
<a href="#">
|
||||||
|
<input type="radio" name="d-s-r" disabled="">
|
||||||
|
I'm disabled
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<h4 class="m-t-lg">
|
||||||
|
<a href="#" class="pull-right text-sm" data-toggle="class:btn-rounded"
|
||||||
|
data-target="#social-buttons a">
|
||||||
|
Toggle
|
||||||
|
</a>
|
||||||
|
Social buttons
|
||||||
|
</h4>
|
||||||
|
<p id="social-buttons">
|
||||||
|
<a href="#" class="btn btn-rounded btn-sm btn-twitter">
|
||||||
|
<i class="fa fa-fw fa-twitter">
|
||||||
|
</i>
|
||||||
|
Twitter
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-rounded btn-sm btn-facebook">
|
||||||
|
<i class="fa fa-fw fa-facebook">
|
||||||
|
</i>
|
||||||
|
Facebook
|
||||||
|
</a>
|
||||||
|
<a href="#" class="btn btn-rounded btn-sm btn-gplus">
|
||||||
|
<i class="fa fa-fw fa-google-plus">
|
||||||
|
</i>
|
||||||
|
Google+
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
<!-- Bootstrap -->
|
||||||
|
<!-- App -->
|
||||||
|
<script src="/js/jquery-1.9.0.min.js"></script>
|
||||||
|
<script src="/js/bootstrap.js"></script>
|
||||||
|
<script src="/public/admin/js/artDialog/jquery.artDialog.js?skin=default"></script>
|
||||||
|
<script src="/public/js/common.js"></script>
|
||||||
|
<script src="/public/admin/js/admin.js"></script>
|
||||||
|
<script>
|
||||||
|
$(function(){
|
||||||
|
var pathname = location.pathname;
|
||||||
|
var arr = pathname.split("/");
|
||||||
|
if(arr.length == 0){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var controller = "";
|
||||||
|
var action = "";
|
||||||
|
if(arr[0] == "") {
|
||||||
|
arr = arr.slice(1);
|
||||||
|
}
|
||||||
|
controller = arr[0];
|
||||||
|
if(arr.length > 1) {
|
||||||
|
action = arr[1];
|
||||||
|
}
|
||||||
|
$("#nav > li").removeClass("active");
|
||||||
|
$("#" + controller + "Nav").addClass("active");
|
||||||
|
|
||||||
|
$('a[href="' + pathname + '"]').parent().addClass("active");
|
||||||
|
});
|
||||||
|
</script>
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="zh">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="keywords" content="leanote,leanote.com">
|
||||||
|
<meta name="description" content="leanote, your own cloud note!">
|
||||||
|
<meta name="author" content="leanote">
|
||||||
|
<title>{{.title}}</title>
|
||||||
|
|
||||||
|
<link href="/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="/css/font-awesome-4.0.3/css/font-awesome.css" rel="stylesheet">
|
||||||
|
<link href="/public/admin/css/admin.css" rel="stylesheet">
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function log(o) {
|
||||||
|
if(window.console) {
|
||||||
|
console.log(o);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="headerContainer" class="navbar-fixed-top">
|
||||||
|
<div class="container" style="clearfix" id="header">
|
||||||
|
<div class="pull-left">
|
||||||
|
<h1 id="logo" class="clearfix">
|
||||||
|
<a href="/admin/index"></a>
|
||||||
|
<span>Admin</span>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
{{template "admin/top.html" .}}
|
||||||
|
<div class="m-b-md"> <h3 class="m-b-none">Workset</h3> <small>Welcome you!</small> </div>
|
||||||
|
<section class="panel panel-default">
|
||||||
|
<div class="row m-l-none m-r-none bg-light lter">
|
||||||
|
<div class="col-sm-6 col-md-3 padder-v b-r b-light">
|
||||||
|
<span class="fa-stack fa-2x pull-left m-r-sm">
|
||||||
|
<i class="fa fa-circle fa-stack-2x text-info"></i>
|
||||||
|
<i class="fa fa-male fa-stack-1x text-white"></i>
|
||||||
|
</span>
|
||||||
|
<a class="clear" href="#">
|
||||||
|
<span class="h3 block m-t-xs"><strong>52,000</strong></span>
|
||||||
|
<small class="text-muted text-uc">users</small>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6 col-md-3 padder-v b-r b-light lt">
|
||||||
|
<span class="fa-stack fa-2x pull-left m-r-sm">
|
||||||
|
<i class="fa fa-circle fa-stack-2x text-warning"></i>
|
||||||
|
<i class="fa fa-file-o fa-stack-1x text-white"></i>
|
||||||
|
</span>
|
||||||
|
<a class="clear" href="#">
|
||||||
|
<span class="h3 block m-t-xs"><strong>1312,000</strong></span>
|
||||||
|
<small class="text-muted text-uc">notes</small>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<!-- 最新动态 -->
|
||||||
|
<section class="panel panel-default">
|
||||||
|
<h4 class="font-thin padder">
|
||||||
|
Leanote Events
|
||||||
|
</h4>
|
||||||
|
<ul class="list-group">
|
||||||
|
<li class="list-group-item">
|
||||||
|
<p>
|
||||||
|
Wellcome
|
||||||
|
<a href="#" class="text-info">
|
||||||
|
@Drew Wllon
|
||||||
|
</a>
|
||||||
|
and play this web application template, have fun1
|
||||||
|
</p>
|
||||||
|
<small class="block text-muted">
|
||||||
|
<i class="fa fa-clock-o">
|
||||||
|
</i>
|
||||||
|
2 minuts ago
|
||||||
|
</small>
|
||||||
|
</li>
|
||||||
|
<li class="list-group-item">
|
||||||
|
<p>
|
||||||
|
Morbi nec
|
||||||
|
<a href="#" class="text-info">
|
||||||
|
@Jonathan George
|
||||||
|
</a>
|
||||||
|
nunc condimentum ipsum dolor sit amet, consectetur
|
||||||
|
</p>
|
||||||
|
<small class="block text-muted">
|
||||||
|
<i class="fa fa-clock-o">
|
||||||
|
</i>
|
||||||
|
1 hour ago
|
||||||
|
</small>
|
||||||
|
</li>
|
||||||
|
<li class="list-group-item">
|
||||||
|
<p>
|
||||||
|
<a href="#" class="text-info">
|
||||||
|
@Josh Long
|
||||||
|
</a>
|
||||||
|
Vestibulum ullamcorper sodales nisi nec adipiscing elit.
|
||||||
|
</p>
|
||||||
|
<small class="block text-muted">
|
||||||
|
<i class="fa fa-clock-o">
|
||||||
|
</i>
|
||||||
|
2 hours ago
|
||||||
|
</small>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="panel panel-default">
|
||||||
|
<form>
|
||||||
|
<textarea class="form-control no-border" rows="3" placeholder="Suggestions to leanote"></textarea>
|
||||||
|
</form>
|
||||||
|
<footer class="panel-footer bg-light lter">
|
||||||
|
<button class="btn btn-info pull-right btn-sm">
|
||||||
|
POST
|
||||||
|
</button>
|
||||||
|
<ul class="nav nav-pills nav-sm">
|
||||||
|
<!--
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
<i class="fa fa-camera text-muted">
|
||||||
|
</i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
<i class="fa fa-video-camera text-muted">
|
||||||
|
</i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
-->
|
||||||
|
</footer>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
{{template "admin/footer.html" .}}
|
||||||
|
{{template "admin/end.html" .}}
|
||||||
@@ -0,0 +1,125 @@
|
|||||||
|
<nav class="nav-primary hidden-xs">
|
||||||
|
<ul class="nav" id="nav">
|
||||||
|
|
||||||
|
<li class="active" id="adminUserNav">
|
||||||
|
<a href="index.html">
|
||||||
|
<i class="fa fa-users icon">
|
||||||
|
<b class="bg-danger">
|
||||||
|
</b>
|
||||||
|
</i>
|
||||||
|
<span class="pull-right">
|
||||||
|
<i class="fa fa-angle-down text">
|
||||||
|
</i>
|
||||||
|
<i class="fa fa-angle-up text-active">
|
||||||
|
</i>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
User
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
<!-- 导航列表 -->
|
||||||
|
<ul class="nav lt">
|
||||||
|
<li>
|
||||||
|
<a href="/adminUser/index">
|
||||||
|
<span>
|
||||||
|
List
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/adminUser/add">
|
||||||
|
<span>
|
||||||
|
Add User
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<a href="/adminBlog/index">
|
||||||
|
<i class="fa fa-file icon">
|
||||||
|
<b class="bg-warning">
|
||||||
|
</b>
|
||||||
|
</i>
|
||||||
|
<span>
|
||||||
|
Blog
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li id="adminSettingNav">
|
||||||
|
<a href="#layout">
|
||||||
|
<i class="fa fa-cog icon">
|
||||||
|
<b class="bg-warning">
|
||||||
|
</b>
|
||||||
|
</i>
|
||||||
|
<span class="pull-right">
|
||||||
|
<i class="fa fa-angle-down text">
|
||||||
|
</i>
|
||||||
|
<i class="fa fa-angle-up text-active">
|
||||||
|
</i>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
Setting
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
<ul class="nav lt">
|
||||||
|
<li>
|
||||||
|
<a href="layout-c.html">
|
||||||
|
<span>
|
||||||
|
Register
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="layout-c.html">
|
||||||
|
<span>
|
||||||
|
Login
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="layout-r.html">
|
||||||
|
<span>
|
||||||
|
Email
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="layout-h.html">
|
||||||
|
<span>
|
||||||
|
Share
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/adminSetting/blog">
|
||||||
|
<span>
|
||||||
|
Blog
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/adminSetting/demo">
|
||||||
|
<span>
|
||||||
|
Demo User
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<a href="#layout">
|
||||||
|
<i class="fa fa-columns icon">
|
||||||
|
<b class="bg-warning">
|
||||||
|
</b>
|
||||||
|
</i>
|
||||||
|
<span>
|
||||||
|
Others
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" class="app">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<title>
|
||||||
|
leanote admin
|
||||||
|
</title>
|
||||||
|
<meta name="description" content="leanote admin"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
|
||||||
|
<link href="/css/font-awesome-4.0.3/css/font-awesome.css" rel="stylesheet">
|
||||||
|
<link href="/public/admin/css/bootstrap.3.2.0.min.css" rel="stylesheet">
|
||||||
|
<link href="/public/admin/css/admin.css" rel="stylesheet">
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="/public/admin/js/ie/html5shiv.js"></script>
|
||||||
|
<script src="/public/admin/js/ie/respond.min.js"></script>
|
||||||
|
<script src="/public/admin/js/ie/excanvas.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
</head>
|
||||||
|
<body class="">
|
||||||
|
<section class="vbox">
|
||||||
|
<header class="bg-dark dk header navbar navbar-fixed-top-xs">
|
||||||
|
<div class="navbar-header aside-md clearfix" id="logo">
|
||||||
|
<a href="/admin/index" class="navbar-brand" data-toggle="fullscreen"></a>
|
||||||
|
<div>Admin</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<ul class="nav navbar-nav navbar-right m-n hidden-xs nav-user">
|
||||||
|
<li class="hidden-xs">
|
||||||
|
<a href="/index" class="dk">
|
||||||
|
Index
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="hidden-xs">
|
||||||
|
<a href="/note" class="dk">
|
||||||
|
My Note
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="hidden-xs">
|
||||||
|
<a href="/blog/admin" class="dk">
|
||||||
|
Blog
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="hidden-xs">
|
||||||
|
<a href="/blog/admin" class="dk">
|
||||||
|
Logout
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</header>
|
||||||
|
<section>
|
||||||
|
<section class="hbox stretch">
|
||||||
|
<!-- .aside -->
|
||||||
|
<aside class="bg-light lter b-r aside-md hidden-print hidden-xs" id="nav">
|
||||||
|
<section class="vbox">
|
||||||
|
<header class="header bg-primary lter text-center clearfix">
|
||||||
|
<div class="btn-group">
|
||||||
|
<div class="hidden-nav-xs">
|
||||||
|
<a class="btn btn-sm btn-primary">
|
||||||
|
Welcome, admin!
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<section class="w-f scrollable">
|
||||||
|
<div class="slim-scroll" data-height="auto" data-disable-fade-out="true"
|
||||||
|
data-distance="0" data-size="5px" data-color="#333333">
|
||||||
|
<!-- nav -->
|
||||||
|
{{template "admin/nav.html" .}}
|
||||||
|
<!-- / nav -->
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<footer class="footer lt hidden-xs b-t b-light">
|
||||||
|
<a href="#nav" data-toggle="class:nav-xs" class="pull-right btn btn-sm btn-default btn-icon">
|
||||||
|
<i class="fa fa-angle-left text">
|
||||||
|
</i>
|
||||||
|
<i class="fa fa-angle-right text-active">
|
||||||
|
</i>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</section>
|
||||||
|
</aside>
|
||||||
|
<!-- /.aside -->
|
||||||
|
<section id="content">
|
||||||
|
<section class="vbox">
|
||||||
|
<section class="scrollable padder">
|
||||||
|
<!-- 导航 -->
|
||||||
|
<ul class="breadcrumb no-border no-radius b-b b-light pull-in">
|
||||||
|
<li>
|
||||||
|
<a href="index.html">
|
||||||
|
<i class="fa fa-home">
|
||||||
|
</i>
|
||||||
|
Home
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Elements
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="active">
|
||||||
|
Components
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<!-- 主要内容区 -->
|
||||||
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<div id="footer">
|
||||||
|
<a href="/lea/index">lea++</a>, leanote博客平台.
|
||||||
|
<a href="/index">leanote</a> © 2014
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="keywords" content="lea++, leanote,leanote.com">
|
||||||
|
<meta name="description" content="lea++, leanote blog platform. leanote, your own cloud note!">
|
||||||
|
<meta name="author" content="leanote">
|
||||||
|
<link href="/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="/css/font-awesome-4.0.3/css/font-awesome.css" rel="stylesheet"/>
|
||||||
|
<link href="/css/blog/p.css" rel="stylesheet">
|
||||||
|
<title>lea++, leanote博客平台</title>
|
||||||
|
<script>
|
||||||
|
function log(o) {
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="header">
|
||||||
|
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
||||||
|
<span class="sr-only">Toggle navigation</span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="navbar-brand" href="/lea/index">
|
||||||
|
<span id="logo"></span>
|
||||||
|
<span id="subTitle" title="lea++, leanote博客平台">lea++</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div id="navbar" class="navbar-collapse collapse">
|
||||||
|
<form class="navbar-form navbar-right">
|
||||||
|
<input type="text" id="keywords" name="keywords" value="{{raw .keywords}}" class="form-control" placeholder="Search...">
|
||||||
|
</form>
|
||||||
|
<ul class="nav navbar-nav navbar-left">
|
||||||
|
<li {{if eq .nav "recommend"}}class="active"{{end}}><a href="/lea/index">推荐</a></li>
|
||||||
|
<li {{if eq .nav "latest"}}class="active"{{end}}><a href="/lea/latest">最新</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
{{template "lea/header.html" .}}
|
||||||
|
{{if eq .nav "recommend"}}
|
||||||
|
{{set $ "baseUrl" "/lea/index" }}
|
||||||
|
{{else}}
|
||||||
|
{{set $ "baseUrl" "/lea/latest" }}
|
||||||
|
{{end}}
|
||||||
|
<div id="content">
|
||||||
|
<!-- 分类 -->
|
||||||
|
<ul class="clearfix sort-nav">
|
||||||
|
<li {{if not .tag}}class="active"{{end}}>
|
||||||
|
<a class="category" href="{{$.baseUrl}}">全部</a>
|
||||||
|
</li>
|
||||||
|
{{range $v := .tags}}
|
||||||
|
<li {{if eq $v $.tag}}class="active"{{end}}>
|
||||||
|
<a class="category" data-category-id="{{$v}}" href="{{$.baseUrl}}?tag={{$v}}">{{$v}}</a>
|
||||||
|
</li>
|
||||||
|
{{end}}
|
||||||
|
</ul>
|
||||||
|
<!-- 文章列表 -->
|
||||||
|
<ul class="thumbnails">
|
||||||
|
{{range .blogs}}
|
||||||
|
<li>
|
||||||
|
<div class="article">
|
||||||
|
<a class="title" href="/blog/view/{{.NoteId.Hex}}" title="{{.Title}} {{msg $ "fullBlog"}}" target="_blank">{{.Title}}</a>
|
||||||
|
<a class="avatar maleskine-author" href="/blog/{{.UserId.Hex}}" target="_blank" title="{{.User.Username}}">
|
||||||
|
{{ if .User.Logo}}
|
||||||
|
<img src="{{.User.Logo}}">
|
||||||
|
{{else}}
|
||||||
|
<img src="/images/blog/default_avatar.png">
|
||||||
|
{{end}}
|
||||||
|
</a>
|
||||||
|
<div class="content">
|
||||||
|
{{.Desc | raw}}
|
||||||
|
</div>
|
||||||
|
<div class="article-info">
|
||||||
|
<a class="author" href="/blog/{{.User.Username}}">
|
||||||
|
<span class="fa fa-user"></span>
|
||||||
|
{{.User.Username}}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<span class="fa fa-comments-o"></span>9
|
||||||
|
<span class="fa fa-heart-o"></span>6
|
||||||
|
-->
|
||||||
|
|
||||||
|
<span class="fa fa-bookmark-o"></span>
|
||||||
|
{{if .Tags}}
|
||||||
|
{{blogTags .Tags}}
|
||||||
|
{{else}}
|
||||||
|
{{msg $ "noTag"}}
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{{end}}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div id="pagination" class="clearfix">
|
||||||
|
{{if eq .nav "recommend"}}
|
||||||
|
{{set . "url" (urlConcat "/lea/index" "keywords" .keywords)}}
|
||||||
|
{{else}}
|
||||||
|
{{set . "url" (urlConcat "/lea/latest" "keywords" .keywords)}}
|
||||||
|
{{end}}
|
||||||
|
{{template "lea/page.html" .}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{template "lea/footer.html" .}}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
{{if gt .pageInfo.TotalPage 1}}
|
||||||
|
<ul class="pagination pagination-sm m-t-none m-b-none">
|
||||||
|
<li class="{{if eq $.pageInfo.CurPage 1}}disabled{{end}}" >
|
||||||
|
<a href="{{if eq $.pageInfo.CurPage 1}}javascript:;{{else}}{{sub $.pageInfo.CurPage | urlConcat $.url "page" }}{{end}}">
|
||||||
|
<i class="fa fa-chevron-left">
|
||||||
|
</i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
{{range $i := N 1 .pageInfo.TotalPage}}
|
||||||
|
{{if eq $i $.pageInfo.CurPage}}
|
||||||
|
<li class="active">
|
||||||
|
<a href="javascript:;">
|
||||||
|
{{$i}}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{else}}
|
||||||
|
<li class="">
|
||||||
|
<a href="{{urlConcat $.url "page" $i}}">
|
||||||
|
{{$i}}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
|
||||||
|
<li class="{{if eq .pageInfo.CurPage .pageInfo.TotalPage}}disabled{{end}}" >
|
||||||
|
<a href="{{if eq .pageInfo.CurPage .pageInfo.TotalPage}}javascript:;{{else}}{{add $.pageInfo.CurPage | urlConcat $.url "page" }}{{end}}">
|
||||||
|
<i class="fa fa-chevron-right">
|
||||||
|
</i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
{{end}}
|
||||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
+5
@@ -0,0 +1,5 @@
|
|||||||
|
/*!
|
||||||
|
* Bootstrap v3.2.0 (http://getbootstrap.com)
|
||||||
|
* Copyright 2011-2014 Twitter, Inc.
|
||||||
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
|
*//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-Line truncated
|
||||||
@@ -0,0 +1,556 @@
|
|||||||
|
function log(o) {
|
||||||
|
console.log(o);
|
||||||
|
}
|
||||||
|
|
||||||
|
var ARTDIALOG = {stack:[], id: 1};
|
||||||
|
ARTDIALOG.defaultConfig = {title:"", draggable: false, padding: 0, fixed: false, lock: false, opacity: 0.3};
|
||||||
|
function openDialog(config) {
|
||||||
|
config = config || {};
|
||||||
|
if(!config.id) {
|
||||||
|
config.id = ARTDIALOG.id++;
|
||||||
|
}
|
||||||
|
if(config.content) {
|
||||||
|
// $("#life")
|
||||||
|
if(typeof config.content == "object") {
|
||||||
|
try {
|
||||||
|
config.content = config.content.get(0);
|
||||||
|
} catch(e) {
|
||||||
|
// 不是jquery对象, 而是dom对象, document.getElementById("xx")
|
||||||
|
// config.content = config.content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
config = $.extend({}, ARTDIALOG.defaultConfig, config);
|
||||||
|
// var content = "<div id='sys-ibank'>" + $("#sys-ibank").html() + "</div>";
|
||||||
|
var d = art.dialog(config);
|
||||||
|
|
||||||
|
if(config.url) {
|
||||||
|
ajaxGetHtml(config.url, {}, function(ret) {
|
||||||
|
d.content(ret);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
ARTDIALOG.stack.push(config.id);
|
||||||
|
return d;
|
||||||
|
// $( "#sys-ibank" ).dialog({title:"插入图片", width: 800,draggable: false});
|
||||||
|
}
|
||||||
|
function closeDialog(){
|
||||||
|
var list = art.dialog.list;
|
||||||
|
if(!list) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
while(true) {
|
||||||
|
var d = ARTDIALOG.stack.pop();
|
||||||
|
if(d) {
|
||||||
|
if(list[d]) {
|
||||||
|
list[d].close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 关闭最近内容为loading的dialog
|
||||||
|
function closeLatestLoadingDialog() {
|
||||||
|
var list = art.dialog.list;
|
||||||
|
if(!list) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
while(true) {
|
||||||
|
var d = ARTDIALOG.stack.pop();
|
||||||
|
if(d) {
|
||||||
|
if(list[d]) {
|
||||||
|
var dd = list[d];
|
||||||
|
if($(dd.content()).text() == "loading..") {
|
||||||
|
dd.close();
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(typeof art != "undefined") {
|
||||||
|
/**
|
||||||
|
* 警告
|
||||||
|
* @param {String} 消息内容
|
||||||
|
*/
|
||||||
|
art.alert = function (content, callback) {
|
||||||
|
return artDialog({
|
||||||
|
id: 'Alert',
|
||||||
|
icon: 'warning',
|
||||||
|
fixed: true,
|
||||||
|
lock: true,
|
||||||
|
content: content,
|
||||||
|
ok: true,
|
||||||
|
opacity: 0.3,
|
||||||
|
close: callback
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 确认
|
||||||
|
* @param {String} 消息内容
|
||||||
|
* @param {Function} 确定按钮回调函数
|
||||||
|
* @param {Function} 取消按钮回调函数
|
||||||
|
*/
|
||||||
|
art.confirm = function (content, yes, no) {
|
||||||
|
return artDialog({
|
||||||
|
id: 'Confirm',
|
||||||
|
icon: 'question',
|
||||||
|
fixed: true,
|
||||||
|
lock: true,
|
||||||
|
opacity: .3,
|
||||||
|
content: content,
|
||||||
|
ok: function (here) {
|
||||||
|
return yes.call(this, here);
|
||||||
|
},
|
||||||
|
cancel: function (here) {
|
||||||
|
return no && no.call(this, here);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 提问
|
||||||
|
* @param {String} 提问内容
|
||||||
|
* @param {Function} 回调函数. 接收参数:输入值
|
||||||
|
* @param {String} 默认值
|
||||||
|
*/
|
||||||
|
art.prompt = function (content, yes, value) {
|
||||||
|
value = value || '';
|
||||||
|
var input;
|
||||||
|
|
||||||
|
return artDialog({
|
||||||
|
id: 'Prompt',
|
||||||
|
icon: 'question',
|
||||||
|
fixed: true,
|
||||||
|
lock: true,
|
||||||
|
opacity: .3,
|
||||||
|
content: [
|
||||||
|
'<div style="margin-bottom:5px;font-size:12px">',
|
||||||
|
content,
|
||||||
|
'</div>',
|
||||||
|
'<div>',
|
||||||
|
'<input value="',
|
||||||
|
value,
|
||||||
|
'" style="width:18em;padding:6px 4px" />',
|
||||||
|
'</div>'
|
||||||
|
].join(''),
|
||||||
|
init: function () {
|
||||||
|
input = this.DOM.content.find('input')[0];
|
||||||
|
input.select();
|
||||||
|
input.focus();
|
||||||
|
},
|
||||||
|
ok: function (here) {
|
||||||
|
return yes && yes.call(this, input.value, here);
|
||||||
|
},
|
||||||
|
cancel: true
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 短暂提示
|
||||||
|
* @param {String} 提示内容
|
||||||
|
* @param {Number} 显示时间 (默认1.5秒)
|
||||||
|
*/
|
||||||
|
art.tips = function (content, time) {
|
||||||
|
return artDialog({
|
||||||
|
id: 'Tips',
|
||||||
|
title: false,
|
||||||
|
cancel: false,
|
||||||
|
fixed: true,
|
||||||
|
lock: true,
|
||||||
|
opacity: 0.3
|
||||||
|
})
|
||||||
|
.content('<div style="padding: 0 1em;">' + content + '</div>')
|
||||||
|
.time(time || 1);
|
||||||
|
};
|
||||||
|
|
||||||
|
// art dialog bind
|
||||||
|
// <a href="javascript:;" id="agree_btn" class="button art-dialog" data-url="index.php?app=seller_refund&action=confirm_refund&order_id=55" data-title="确认退款">同意退款</a>
|
||||||
|
$(function() {
|
||||||
|
$(".art-dialog").click(function(){
|
||||||
|
var title = $(this).data('title');
|
||||||
|
var url = $(this).data("url");
|
||||||
|
var lock = +$(this).data('lock');
|
||||||
|
var width = $(this).data('width');
|
||||||
|
var config = {url: url, title: title, lock: lock};
|
||||||
|
if(width) {
|
||||||
|
config.width = width;
|
||||||
|
}
|
||||||
|
openDialog(config);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除确认
|
||||||
|
function drop_confirm(msg, url) {
|
||||||
|
if(art) {
|
||||||
|
art.confirm(msg,function(){
|
||||||
|
// window.location = url;
|
||||||
|
var self = this;
|
||||||
|
self.content("正在处理...");
|
||||||
|
ajaxGet(url, {}, function(ret) {
|
||||||
|
if(ret.done) {
|
||||||
|
self.content("操作成功, 正在刷新...");
|
||||||
|
location.reload();
|
||||||
|
} else {
|
||||||
|
art.alert(ret.msg);
|
||||||
|
}
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
if(confirm(msg)){
|
||||||
|
window.location = url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function init_validator(target, rules, messages) {
|
||||||
|
var config = {
|
||||||
|
errorElement : 'div',
|
||||||
|
errorClass : 'help-block alert alert-warning',
|
||||||
|
focusInvalid : false,
|
||||||
|
ignore: ".ignore",
|
||||||
|
highlight : function(element) {
|
||||||
|
var $p = $(element).closest('.control-group');
|
||||||
|
$p.removeClass("success").addClass('error');
|
||||||
|
},
|
||||||
|
success : function(label) {
|
||||||
|
var $p = label.closest('.control-group');
|
||||||
|
$p.removeClass('error');
|
||||||
|
$p.addClass("success");
|
||||||
|
|
||||||
|
$p.find(".help-block").hide();
|
||||||
|
$(label).hide();
|
||||||
|
},
|
||||||
|
errorPlacement : function(error, element) {
|
||||||
|
var $p = element.parent('div');
|
||||||
|
element.parent('div').append(error);
|
||||||
|
log(element);
|
||||||
|
log($p);
|
||||||
|
},
|
||||||
|
submitHandler : function(form) {
|
||||||
|
form.submit();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if(rules) {
|
||||||
|
config.rules = rules;
|
||||||
|
}
|
||||||
|
if(messages) {
|
||||||
|
config.messages = messages;
|
||||||
|
}
|
||||||
|
return $(target).validate(config);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function enter_submit(btnId) {
|
||||||
|
var theEvent = window.event || arguments.callee.caller.arguments[0];
|
||||||
|
if(theEvent.keyCode == 13||theEvent.keyCode == 108) {
|
||||||
|
$(btnId).trigger('click');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
!function ($) {
|
||||||
|
$(function(){
|
||||||
|
|
||||||
|
// life
|
||||||
|
$(".nav li > a").click(function(e) {
|
||||||
|
$p = $(this).closest("ul");
|
||||||
|
var $li = $(this).closest("li");
|
||||||
|
if($li.find("ul").length == 0) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
e.preventDefault();
|
||||||
|
var hasClass = $li.hasClass("active");
|
||||||
|
$p.find("li").removeClass("active");
|
||||||
|
if(hasClass) {
|
||||||
|
} else {
|
||||||
|
$li.addClass("active");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// sort
|
||||||
|
$(".th-sortable").click(function() {
|
||||||
|
var up = $(this).hasClass("th-sort-up");
|
||||||
|
var down = $(this).hasClass("th-sort-down");
|
||||||
|
var url = $(this).data("url");
|
||||||
|
var sorter = $(this).data("sorter");
|
||||||
|
var t = "th-sort-up";
|
||||||
|
if(up) {
|
||||||
|
t = "th-sort-down";
|
||||||
|
var sUrl = "sorter=" + sorter + "-down";
|
||||||
|
} else {
|
||||||
|
var sUrl = "sorter=" + sorter + "-up";
|
||||||
|
}
|
||||||
|
|
||||||
|
if(url.indexOf("?") > 0) {
|
||||||
|
location.href = url + "&" + sUrl;
|
||||||
|
} else {
|
||||||
|
location.href = url + "?" + sUrl;
|
||||||
|
}
|
||||||
|
$(this).removeClass("th-sort-up th-sort-down").addClass(t);
|
||||||
|
});
|
||||||
|
|
||||||
|
// search
|
||||||
|
$(".search-group input").keyup(function(e){
|
||||||
|
enter_submit(".search-group button");
|
||||||
|
});
|
||||||
|
$(".search-group button").click(function(e){
|
||||||
|
var url = $(this).data("url");
|
||||||
|
$input = $(this).closest(".search-group").find("input");
|
||||||
|
var keywords = $input.val();
|
||||||
|
/*
|
||||||
|
if(!keywords) {
|
||||||
|
$input.focus();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
if(url.indexOf("?") > 0) {
|
||||||
|
location.href = url + "&keywords=" + keywords;
|
||||||
|
} else {
|
||||||
|
location.href = url + "?keywords=" + keywords;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//--------------------------
|
||||||
|
|
||||||
|
// sparkline
|
||||||
|
var sr, sparkline = function($re){
|
||||||
|
$(".sparkline").each(function(){
|
||||||
|
var $data = $(this).data();
|
||||||
|
if($re && !$data.resize) return;
|
||||||
|
($data.type == 'pie') && $data.sliceColors && ($data.sliceColors = eval($data.sliceColors));
|
||||||
|
($data.type == 'bar') && $data.stackedBarColor && ($data.stackedBarColor = eval($data.stackedBarColor));
|
||||||
|
$data.valueSpots = {'0:': $data.spotColor};
|
||||||
|
$(this).sparkline('html', $data);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
$(window).resize(function(e) {
|
||||||
|
clearTimeout(sr);
|
||||||
|
sr = setTimeout(function(){sparkline(true)}, 500);
|
||||||
|
});
|
||||||
|
sparkline(false);
|
||||||
|
|
||||||
|
|
||||||
|
// easypie
|
||||||
|
$('.easypiechart').each(function(){
|
||||||
|
var $this = $(this),
|
||||||
|
$data = $this.data(),
|
||||||
|
$step = $this.find('.step'),
|
||||||
|
$target_value = parseInt($($data.target).text()),
|
||||||
|
$value = 0;
|
||||||
|
$data.barColor || ( $data.barColor = function($percent) {
|
||||||
|
$percent /= 100;
|
||||||
|
return "rgb(" + Math.round(200 * $percent) + ", 200, " + Math.round(200 * (1 - $percent)) + ")";
|
||||||
|
});
|
||||||
|
$data.onStep = function(value){
|
||||||
|
$value = value;
|
||||||
|
$step.text(parseInt(value));
|
||||||
|
$data.target && $($data.target).text(parseInt(value) + $target_value);
|
||||||
|
}
|
||||||
|
$data.onStop = function(){
|
||||||
|
$target_value = parseInt($($data.target).text());
|
||||||
|
$data.update && setTimeout(function() {
|
||||||
|
$this.data('easyPieChart').update(100 - $value);
|
||||||
|
}, $data.update);
|
||||||
|
}
|
||||||
|
$(this).easyPieChart($data);
|
||||||
|
});
|
||||||
|
|
||||||
|
// combodate
|
||||||
|
$(".combodate").each(function(){
|
||||||
|
$(this).combodate();
|
||||||
|
$(this).next('.combodate').find('select').addClass('form-control');
|
||||||
|
});
|
||||||
|
|
||||||
|
// datepicker
|
||||||
|
$(".datepicker-input").each(function(){ $(this).datepicker();});
|
||||||
|
|
||||||
|
// dropfile
|
||||||
|
$('.dropfile').each(function(){
|
||||||
|
var $dropbox = $(this);
|
||||||
|
if (typeof window.FileReader === 'undefined') {
|
||||||
|
$('small',this).html('File API & FileReader API not supported').addClass('text-danger');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.ondragover = function () {$dropbox.addClass('hover'); return false; };
|
||||||
|
this.ondragend = function () {$dropbox.removeClass('hover'); return false; };
|
||||||
|
this.ondrop = function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
$dropbox.removeClass('hover').html('');
|
||||||
|
var file = e.dataTransfer.files[0],
|
||||||
|
reader = new FileReader();
|
||||||
|
reader.onload = function (event) {
|
||||||
|
$dropbox.append($('<img>').attr('src', event.target.result));
|
||||||
|
};
|
||||||
|
reader.readAsDataURL(file);
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
// fuelux pillbox
|
||||||
|
var addPill = function($input){
|
||||||
|
var $text = $input.val(), $pills = $input.closest('.pillbox'), $repeat = false, $repeatPill;
|
||||||
|
if($text == "") return;
|
||||||
|
$("li", $pills).text(function(i,v){
|
||||||
|
if(v == $text){
|
||||||
|
$repeatPill = $(this);
|
||||||
|
$repeat = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if($repeat) {
|
||||||
|
$repeatPill.fadeOut().fadeIn();
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
$item = $('<li class="label bg-dark">'+$text+'</li> ');
|
||||||
|
$item.insertBefore($input);
|
||||||
|
$input.val('');
|
||||||
|
$pills.trigger('change', $item);
|
||||||
|
};
|
||||||
|
|
||||||
|
$('.pillbox input').on('blur', function() {
|
||||||
|
addPill($(this));
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.pillbox input').on('keypress', function(e) {
|
||||||
|
if(e.which == 13) {
|
||||||
|
e.preventDefault();
|
||||||
|
addPill($(this));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// slider
|
||||||
|
$('.slider').each(function(){
|
||||||
|
$(this).slider();
|
||||||
|
});
|
||||||
|
|
||||||
|
// wizard
|
||||||
|
$(document).on('change', '.wizard', function (e, data) {
|
||||||
|
if(data.direction !== 'next' ) return;
|
||||||
|
var item = $(this).wizard('selectedItem');
|
||||||
|
var $step = $(this).find('.step-pane:eq(' + (item.step-1) + ')');
|
||||||
|
var validated = true;
|
||||||
|
$('[data-required="true"]', $step).each(function(){
|
||||||
|
return (validated = $(this).parsley( 'validate' ));
|
||||||
|
});
|
||||||
|
if(!validated) return e.preventDefault();
|
||||||
|
});
|
||||||
|
|
||||||
|
// sortable
|
||||||
|
if ($.fn.sortable) {
|
||||||
|
$('.sortable').sortable();
|
||||||
|
}
|
||||||
|
|
||||||
|
// slim-scroll
|
||||||
|
$('.no-touch .slim-scroll').each(function(){
|
||||||
|
var $self = $(this), $data = $self.data(), $slimResize;
|
||||||
|
$self.slimScroll($data);
|
||||||
|
$(window).resize(function(e) {
|
||||||
|
clearTimeout($slimResize);
|
||||||
|
$slimResize = setTimeout(function(){$self.slimScroll($data);}, 500);
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).on('updateNav', function(){
|
||||||
|
$self.slimScroll($data);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// pjax
|
||||||
|
if ($.support.pjax) {
|
||||||
|
$(document).on('click', 'a[data-pjax]', function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
var container = $($(this).data('target'));
|
||||||
|
$.pjax.click(event, {container: container});
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
|
// portlet
|
||||||
|
$('.portlet').each(function(){
|
||||||
|
$(".portlet").sortable({
|
||||||
|
connectWith: '.portlet',
|
||||||
|
iframeFix: false,
|
||||||
|
items: '.portlet-item',
|
||||||
|
opacity: 0.8,
|
||||||
|
helper: 'original',
|
||||||
|
revert: true,
|
||||||
|
forceHelperSize: true,
|
||||||
|
placeholder: 'sortable-box-placeholder round-all',
|
||||||
|
forcePlaceholderSize: true,
|
||||||
|
tolerance: 'pointer'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// docs
|
||||||
|
$('#docs pre code').each(function(){
|
||||||
|
var $this = $(this);
|
||||||
|
var t = $this.html();
|
||||||
|
$this.html(t.replace(/</g, '<').replace(/>/g, '>'));
|
||||||
|
});
|
||||||
|
|
||||||
|
// fontawesome
|
||||||
|
$(document).on('click', '.fontawesome-icon-list a', function(e){
|
||||||
|
e && e.preventDefault();
|
||||||
|
});
|
||||||
|
|
||||||
|
// table select/deselect all
|
||||||
|
$(document).on('change', 'table thead [type="checkbox"]', function(e){
|
||||||
|
e && e.preventDefault();
|
||||||
|
var $table = $(e.target).closest('table'), $checked = $(e.target).is(':checked');
|
||||||
|
$('tbody [type="checkbox"]',$table).prop('checked', $checked);
|
||||||
|
});
|
||||||
|
|
||||||
|
// random progress
|
||||||
|
$(document).on('click', '[data-toggle^="progress"]', function(e){
|
||||||
|
e && e.preventDefault();
|
||||||
|
|
||||||
|
$el = $(e.target);
|
||||||
|
$target = $($el.data('target'));
|
||||||
|
$('.progress', $target).each(
|
||||||
|
function(){
|
||||||
|
var $max = 50, $data, $ps = $('.progress-bar',this).last();
|
||||||
|
($(this).hasClass('progress-xs') || $(this).hasClass('progress-sm')) && ($max = 100);
|
||||||
|
$data = Math.floor(Math.random()*$max)+'%';
|
||||||
|
$ps.css('width', $data).attr('data-original-title', $data);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
// add notes
|
||||||
|
function addMsg($msg){
|
||||||
|
var $el = $('.nav-user'), $n = $('.count:first', $el), $v = parseInt($n.text());
|
||||||
|
$('.count', $el).fadeOut().fadeIn().text($v+1);
|
||||||
|
$($msg).hide().prependTo($el.find('.list-group')).slideDown().css('display','block');
|
||||||
|
}
|
||||||
|
var $msg = '<a href="#" class="media list-group-item">'+
|
||||||
|
'<span class="pull-left thumb-sm text-center">'+
|
||||||
|
'<i class="fa fa-envelope-o fa-2x text-success"></i>'+
|
||||||
|
'</span>'+
|
||||||
|
'<span class="media-body block m-b-none">'+
|
||||||
|
'Sophi sent you a email<br>'+
|
||||||
|
'<small class="text-muted">1 minutes ago</small>'+
|
||||||
|
'</span>'+
|
||||||
|
'</a>';
|
||||||
|
setTimeout(function(){addMsg($msg);}, 1500);
|
||||||
|
|
||||||
|
// select2
|
||||||
|
if ($.fn.select2) {
|
||||||
|
$("#select2-option").select2();
|
||||||
|
$("#select2-tags").select2({
|
||||||
|
tags:["red", "green", "blue"],
|
||||||
|
tokenSeparators: [",", " "]}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
}(window.jQuery);
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 71
|
||||||
|
/svn/ecmall/!svn/ver/367/ecmall/includes/libraries/javascript/artDialog
|
||||||
|
END
|
||||||
|
license.txt
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 82
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/license.txt
|
||||||
|
END
|
||||||
|
index.html
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 81
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/index.html
|
||||||
|
END
|
||||||
|
artDialog.source.js
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 90
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/artDialog.source.js
|
||||||
|
END
|
||||||
|
jquery.artDialog.source.js
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 97
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/jquery.artDialog.source.js
|
||||||
|
END
|
||||||
|
artDialog.js
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 83
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/artDialog.js
|
||||||
|
END
|
||||||
|
jquery.artDialog.js
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 91
|
||||||
|
/svn/ecmall/!svn/ver/367/ecmall/includes/libraries/javascript/artDialog/jquery.artDialog.js
|
||||||
|
END
|
||||||
@@ -0,0 +1,248 @@
|
|||||||
|
10
|
||||||
|
|
||||||
|
dir
|
||||||
|
371
|
||||||
|
https://42.121.52.247/svn/ecmall/ecmall/includes/libraries/javascript/artDialog
|
||||||
|
https://42.121.52.247/svn/ecmall
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-08-17T09:53:23.915878Z
|
||||||
|
367
|
||||||
|
litie
|
||||||
|
|
||||||
|
|
||||||
|
svn:special svn:externals svn:needs-lock
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
d8fde07f-0130-2f47-8851-2ad99dc1c468
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
0
|
||||||
|
|
||||||
|
_doc
|
||||||
|
dir
|
||||||
|
|
||||||
|
artDialog.js
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
96b775131928186a269e3c93ecd8608a
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
25087
|
||||||
|
|
||||||
|
artDialog.source.js
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
db4b85962f603c5f7cc938eebe6ce7ef
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
54000
|
||||||
|
|
||||||
|
index.html
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
dce1000b4c176c0f784c09f46096ad28
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
9916
|
||||||
|
|
||||||
|
jquery.artDialog.js
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-08-17T09:27:53.000000Z
|
||||||
|
c13dd0e19254f0da17a00a0b718d1c1b
|
||||||
|
2014-08-17T09:53:23.915878Z
|
||||||
|
367
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
16141
|
||||||
|
|
||||||
|
jquery.artDialog.source.js
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
9fb82c1ba68d570bbf6c3bbba3922527
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
33957
|
||||||
|
|
||||||
|
license.txt
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
ad68978264a8534f355b1fff51e3e092
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
7814
|
||||||
|
|
||||||
|
plugins
|
||||||
|
dir
|
||||||
|
|
||||||
|
skins
|
||||||
|
dir
|
||||||
|
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
END
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
END
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
END
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
END
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
END
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
END
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
/*!
|
||||||
|
* artDialog 4.1.7
|
||||||
|
* Date: 2013-03-03 08:04
|
||||||
|
* http://code.google.com/p/artdialog/
|
||||||
|
* (c) 2009-2012 TangBin, http://www.planeArt.cn
|
||||||
|
*
|
||||||
|
* This is licensed under the GNU LGPL, version 2.1 or later.
|
||||||
|
* For details, see: http://creativecommons.org/licenses/LGPL/2.1/
|
||||||
|
*/
|
||||||
|
(function(e,t){function h(e,t,n){t=t||document,n=n||"*";var r=0,i=0,s=[],o=t.getElementsByTagName(n),u=o.length,a=new RegExp("(^|\\s)"+e+"(\\s|$)");for(;r<u;r++)a.test(o[r].className)&&(s[i]=o[r],i++);return s}function p(r){var i=n.expando,s=r===e?0:r[i];return s===t&&(r[i]=s=++n.uuid),s}function d(){if(n.isReady)return;try{document.documentElement.doScroll("left")}catch(e){setTimeout(d,1);return}n.ready()}function v(e){return n.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}var n=e.art=function(e,t){return new n.fn.init(e,t)},r=!1,i=[],s,o="opacity"in document.documentElement.style,u=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,a=/[\n\t]/g,f=/alpha\([^)]*\)/i,l=/opacity=([^)]*)/,c=/^([+-]=)?([\d+-.]+)(.*)$/;return e.$===t&&(e.$=n),n.fn=n.prototype={constructor:n,ready:function(e){return n.bindReady(),n.isReady?e.call(document,n):i&&i.push(e),this},hasClass:function(e){var t=" "+e+" ";return(" "+this[0].className+" ").replace(a," ").indexOf(t)>-1?!0:!1},addClass:function(e){return this.hasClass(e)||(this[0].className+=" "+e),this},removeClass:function(e){var t=this[0];return e?this.hasClass(e)&&(t.className=t.className.replace(e," ")):t.className="",this},css:function(e,r){var i,s=this[0],o=arguments[0];if(typeof e=="string"){if(r===t)return n.css(s,e);e==="opacity"?n.opacity.set(s,r):s.style[e]=r}else for(i in o)i==="opacity"?n.opacity.set(s,o[i]):s.style[i]=o[i];return this},show:function(){return this.css("display","block")},hide:function(){return this.css("display","none")},offset:function(){var e=this[0],t=e.getBoundingClientRect(),n=e.ownerDocument,r=n.body,i=n.documentElement,s=i.clientTop||r.clientTop||0,o=i.clientLeft||r.clientLeft||0,u=t.top+(self.pageYOffset||i.scrollTop)-s,a=t.left+(self.pageXOffset||i.scrollLeft)-o;return{left:a,top:u}},html:function(e){var r=this[0];return e===t?r.innerHTML:(n.cleanData(r.getElementsByTagName("*")),r.innerHTML=e,this)},remove:function(){var e=this[0];return n.cleanData(e.getElementsByTagName("*")),n.cleanData([e]),e.parentNode.removeChild(e),this},bind:function(e,t){return n.event.add(this[0],e,t),this},unbind:function(e,t){return n.event.remove(this[0],e,t),this}},n.fn.init=function(e,t){var r,i;t=t||document;if(!e)return this;if(e.nodeType)return this[0]=e,this;if(e==="body"&&t.body)return this[0]=t.body,this;if(e==="head"||e==="html")return this[0]=t.getElementsByTagName(e)[0],this;if(typeof e=="string"){r=u.exec(e);if(r&&r[2])return i=t.getElementById(r[2]),i&&i.parentNode&&(this[0]=i),this}return typeof e=="function"?n(document).ready(e):(this[0]=e,this)},n.fn.init.prototype=n.fn,n.noop=function(){},n.isWindow=function(e){return e&&typeof e=="object"&&"setInterval"in e},n.isArray=function(e){return Object.prototype.toString.call(e)==="[object Array]"},n.fn.find=function(e){var t,r=this[0],i=e.split(".")[1];return i?document.getElementsByClassName?t=r.getElementsByClassName(i):t=h(i,r):t=r.getElementsByTagName(e),n(t[0])},n.each=function(e,n){var r,i=0,s=e.length,o=s===t;if(o){for(r in e)if(n.call(e[r],r,e[r])===!1)break}else for(var u=e[0];i<s&&n.call(u,i,u)!==!1;u=e[++i]);return e},n.data=function(e,r,i){var s=n.cache,o=p(e);return r===t?s[o]:(s[o]||(s[o]={}),i!==t&&(s[o][r]=i),s[o][r])},n.removeData=function(e,t){var r=!0,i=n.expando,s=n.cache,o=p(e),u=o&&s[o];if(!u)return;if(t){delete u[t];for(var a in u)r=!1;r&&delete n.cache[o]}else delete s[o],e.removeAttribute?e.removeAttribute(i):e[i]=null},n.uuid=0,n.cache={},n.expando="@cache"+ +(new Date),n.event={add:function(e,t,r){var i,s,o=n.event,u=n.data(e,"@events")||n.data(e,"@events",{});i=u[t]=u[t]||{},s=i.listeners=i.listeners||[],s.push(r),i.handler||(i.elem=e,i.handler=o.handler(i),e.addEventListener?e.addEventListener(t,i.handler,!1):e.attachEvent("on"+t,i.handler))},remove:function(e,t,r){var i,s,o,u=n.event,a=!0,f=n.data(e,"@events");if(!f)return;if(!t){for(i in f)u.remove(e,i);return}s=f[t];if(!s)return;o=s.listeners;if(r)for(i=0;i<o.length;i++)o[i]===r&&o.splice(i--,1);else s.listeners=[];if(s.listeners.length===0){e.removeEventListener?e.removeEventListener(t,s.handler,!1):e.detachEvent("on"+t,s.handler),delete f[t],s=n.data(e,"@events");for(var l in s)a=!1;a&&n.removeData(e,"@events")}},handler:function(t){return function(r){r=n.event.fix(r||e.event);for(var i=0,s=t.listeners,o;o=s[i++];)o.call(t.elem,r)===!1&&(r.preventDefault(),r.stopPropagation())}},fix:function(e){if(e.target)return e;var t={target:e.srcElement||document,preventDefault:function(){e.returnValue=!1},stopPropagation:function(){e.cancelBubble=!0}};for(var n in e)t[n]=e[n];return t}},n.cleanData=function(e){var t=0,r,i=e.length,s=n.event.remove,o=n.removeData;for(;t<i;t++)r=e[t],s(r),o(r)},n.isReady=!1,n.ready=function(){if(!n.isReady){if(!document.body)return setTimeout(n.ready,13);n.isReady=!0;if(i){var e,t=0;while(e=i[t++])e.call(document,n);i=null}}},n.bindReady=function(){if(r)return;r=!0;if(document.readyState==="complete")return n.ready();if(document.addEventListener)document.addEventListener("DOMContentLoLine truncated
|
||||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,162 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<title>artDialog</title>
|
||||||
|
<meta name="keywords" content="artDialog,javascript,dialog,jQuery" />
|
||||||
|
<meta name="description" content="artDialog是一个精巧的web对话框组件,压缩后只有十多KB,并且不依赖其他框架。" />
|
||||||
|
<script>
|
||||||
|
// skin demo
|
||||||
|
(function() {
|
||||||
|
var _skin, _jQuery;
|
||||||
|
var _search = window.location.search;
|
||||||
|
if (_search) {
|
||||||
|
_skin = _search.split('demoSkin=')[1];
|
||||||
|
_jQuery = _search.indexOf('jQuery=true') !== -1;
|
||||||
|
if (_jQuery) document.write('<scr'+'ipt src="jquery-1.6.2.min.js"></sc'+'ript>');
|
||||||
|
};
|
||||||
|
|
||||||
|
document.write('<scr'+'ipt src="artDialog.source.js?skin=' + (_skin || 'default') +'"></sc'+'ript>');
|
||||||
|
window._isDemoSkin = !!_skin;
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
<script src="./plugins/iframeTools.source.js"></script>
|
||||||
|
<script src="./_doc/demo.js"></script>
|
||||||
|
<script src="./_doc/highlight/highlight.pack.js"></script>
|
||||||
|
<script src="./_doc/highlight/languages/javascript.js"></script>
|
||||||
|
<script>
|
||||||
|
hljs.tabReplace = ' ';
|
||||||
|
hljs.initHighlightingOnLoad();
|
||||||
|
</script>
|
||||||
|
<link href="./_doc/demo.css" rel="stylesheet" type="text/css" />
|
||||||
|
<link rel="stylesheet" href="./_doc/highlight/styles/magula.css" />
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="doc">
|
||||||
|
<div id="header">
|
||||||
|
<h1 id="logo"><a href="index.html">artDialog</a></h1>
|
||||||
|
<ul id="nav" class="nav">
|
||||||
|
<li><a href="index.html" class="home">首页</a></li>
|
||||||
|
<li><a href="./_doc/API.html" class="api">文档</a></li>
|
||||||
|
<li><a href="./_doc/down.html" class="down">下载</a></li>
|
||||||
|
<li><a href="./_doc/log.html" class="log">更新</a></li>
|
||||||
|
<li><a href="./_doc/labs.html" class="labs">实验</a></li>
|
||||||
|
<li><a href="./_doc/license.html" class="license">授权</a></li>
|
||||||
|
|
|
||||||
|
<li><a href="#" id="nav-skin">皮肤</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="main">
|
||||||
|
<div class="tips" style="margin:4px 5px; padding:8px; background:#EEF7F5; text-align:left; color:#000; border-radius:3px; border:1px solid #D7EAE2; ">artDialog是一个基于javascript编写的对话框组件,它拥有精致的界面与友好的接口</div>
|
||||||
|
<dl class="about">
|
||||||
|
<dt>自适应内容</dt>
|
||||||
|
<dd>artDialog的特殊UI框架能够适应内容变化,甚至连外部程序动态插入的内容它仍然能自适应,因此你不必去考虑消息内容尺寸使用它。它的消息容器甚至能够根据宽度让文本居中或居左对齐——这一切全是XHTML+CSS原生实现。</dd>
|
||||||
|
<dt>完善的接口</dt>
|
||||||
|
<dd>它的接口完善,可以轻易与外部程序配合使用。如异步写入消息、控制位置、尺寸、显示与隐藏、关闭等。</dd>
|
||||||
|
<dt>细致的体验</dt>
|
||||||
|
<dd>如果不是在输入状态,它支持Esc快捷键关闭;可指定在元素附近弹出,让操作更便捷;智能给按钮添加焦点;黄金比例垂直居中;超大响应区域特别为ipad等触屏设备优化;预先缓存皮肤图片更快响应……</dd>
|
||||||
|
<dt>跨平台兼容</dt>
|
||||||
|
<dd>兼容:IE6+、Firefox、Chrome、Safari、Opera以及iPad等移动设备。并且IE6下也能支持现代浏览器的静止定位(<a href="http://www.planeart.cn/?p=877" target="_blank" title="阅读作者ie6Fixed相关博文" style="text-decoration:underline">fixed</a>)、<!--[if gte IE 7]><!-->覆盖下拉控件<!--<![endif]--><!--[if lt IE 7]><select><option>覆盖下拉控件</option></select><![endif]-->、alpha通道png背景。</dd>
|
||||||
|
</dl>
|
||||||
|
<h2>快速入门</h2>
|
||||||
|
<h3>一、使用传统的参数</h3>
|
||||||
|
<p>art.dialog(content, ok, cancel)</p>
|
||||||
|
<div id="demoCode01">
|
||||||
|
<pre><code class=" javascript">art.dialog('简单愉悦的接口,强大的表现力,优雅的内部实现', function(){alert('yes');});</code></pre>
|
||||||
|
</div>
|
||||||
|
<p class="buttons">
|
||||||
|
<button class="runCode" id="btn1" title="btn1" name="demoCode01">运行»</button>
|
||||||
|
</p>
|
||||||
|
<h3>二、使用字面量传参</h3>
|
||||||
|
<p>art.dialog(options)</p>
|
||||||
|
<div id="demoCode02">
|
||||||
|
<pre><code class=" javascript">var dialog = art.dialog({
|
||||||
|
title: '欢迎',
|
||||||
|
content: '欢迎使用artDialog对话框组件!',
|
||||||
|
icon: 'succeed',
|
||||||
|
follow: document.getElementById('btn2'),
|
||||||
|
ok: function(){
|
||||||
|
this.title('警告').content('请注意artDialog两秒后将关闭!').lock().time(2);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</code></pre>
|
||||||
|
</div>
|
||||||
|
<p class="buttons">
|
||||||
|
<button class="runCode" id="btn2" title="btn2" name="demoCode02">运行»</button>
|
||||||
|
</p>
|
||||||
|
<p>更多配置参数用法请查阅API文档: <a href="./_doc/API.html#options">./_doc/API.html#options</a></p>
|
||||||
|
<h3>三、扩展方法</h3>
|
||||||
|
<p>需要对弹出后的对话框操作?artDialog简单实用的扩展方法可以使这一切变得简单。</p>
|
||||||
|
<p>如在ajax异步操作中,我们可以先定义一个变量引用对话框返回的扩展方法:</p>
|
||||||
|
<pre><code class=" javascript">var myDialog = art.dialog();// 初始化一个带有loading图标的空对话框
|
||||||
|
jQuery.ajax({
|
||||||
|
url: 'http://web5.qq.com/content?id=1',
|
||||||
|
success: function (data) {
|
||||||
|
myDialog.content(data);// 填充对话框内容
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</code></pre>
|
||||||
|
<p>如果需要使用程序控制关闭,可以使用"close"方法关闭对话框:</p>
|
||||||
|
<pre><code class=" javascript">myDialog.close();</code></pre>
|
||||||
|
<p>更多扩展方法用法请查阅API文档: <a href="./_doc/API.html#API">./_doc/API.html#API</a></p>
|
||||||
|
<h2>插件:框架应用工具</h2>
|
||||||
|
<p>artDialog针对CMS类的框架应用提供了专属插件,如穿越框架、iframe、AJAX、跨框架传值操作等。</p>
|
||||||
|
<p>例: 使用open方法嵌入页面,并使用data方法在各个iframe间传递数据:</p>
|
||||||
|
<div id="demoCode04-3">
|
||||||
|
<pre><code class="javascript">var val = document.getElementById('demoInput04-3').value;
|
||||||
|
art.dialog.data('test', val);
|
||||||
|
art.dialog.data('homeDemoPath', './_doc/');
|
||||||
|
|
||||||
|
// 此时 iframeA.html 页面可以使用 art.dialog.data('test') 获取到数据,如:
|
||||||
|
// document.getElementById('aInput').value = art.dialog.data('test');
|
||||||
|
art.dialog.open('./_doc/iframeA.html');
|
||||||
|
</code></pre>
|
||||||
|
</div>
|
||||||
|
<p class="buttons"> 请输入测试文字:
|
||||||
|
<input id="demoInput04-3" title="demoInput04-3" type="text" value="精于心,简于形" style="padding:4px; width:16em; margin-right:10px" />
|
||||||
|
<button class="runCode" name="demoCode04-3">运行»</button>
|
||||||
|
</p>
|
||||||
|
<p>插件更多功能请查阅API文档: <a target="_blank" href="./iframeTop.html">./iframeTop.html</a></p>
|
||||||
|
<h2>jQuery + artDialog</h2>
|
||||||
|
<p>artDialog提供了一个jQuery版本,功能与标准版一致,调用只需要把art前缀改成jQuery的命名空间。</p>
|
||||||
|
<pre><code class=" javascript">// 普通调用
|
||||||
|
$.dialog({content:'hello world!'});
|
||||||
|
|
||||||
|
// 使用选择器方式,此时自动使用绑定了live click事件,同时启用follow模式
|
||||||
|
$('#main .test').dialog({content: 'hello world'});</code></pre>
|
||||||
|
<p>(最低兼容jquery1.3.2,但框架应用插件需要jquery1.4+运行<a href="#?" title="jQuery版本小于1.4不能获取iframe内部尺寸,导致open方法无法自适应内容尺寸">[?]</a>)</p>
|
||||||
|
<h2>联系</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<div style="margin:4px 0; padding:5px; background:#EEF7F5; text-align:left; color:#000; border-radius:3px; border:1px solid #D7EAE2;" class="tips"><span style="color:#DFB113">注意!</span>artDialog4+即将停止维护,在框架满天飞的时代结束后,其历史使命已经完成。新版本<a href="https://github.com/aui/artDialog" style="text-decoration:underline;">artDialog 5+</a>很小,却依然动人。若要迁移,请抛弃iframe,使用ajax技术。</div>
|
||||||
|
|
||||||
|
<p>如果你对artDialog有什么意见建议可以用下面任意一种联系方式找到作者。artDialog一直在不断完善自身,这个愉悦的过程中感谢有你的参与~</p>
|
||||||
|
<p><strong>提交BUG必备项</strong>:1、浏览器名称,版本 2、artDialog版本号(只支持4+版本) 3、简明扼要的描述信息 4、建议提取一份BUG DEMO,这样解决问题的概率增加300%</p>
|
||||||
|
<p>如果对使用问题有疑惑,可以前往由 artDialog 爱好者建立的QQ群寻求帮助(前提是先自己阅读文档): 44030323 </p>
|
||||||
|
<p>作者:糖饼<br />
|
||||||
|
邮箱:<span id="myEmail"></span> <span style="color:#990">(仅用作bug提交)</span><br />
|
||||||
|
网站:<a href="http://www.planeart.cn" target="_blank">PlaneArt.Cn</a><br />
|
||||||
|
微博:<a href="http://t.qq.com/tangbin">t.qq.com/tangbin</a></p>
|
||||||
|
<h2>捐赠</h2>
|
||||||
|
<p>artDialog就是你一直想要的对话框么?哇~那么我非常期待您能够热情的提供15元或者其他金额的捐赠鼓励~正如您支持其他开源项目一样。</p>
|
||||||
|
<p>支付宝: <a href="https://me.alipay.com/planeart" target="_blank">https://me.alipay.com/planeart</a></p>
|
||||||
|
<p>您因如果使用artDialog而受益或者感到愉悦,您还可以这样帮助artDialog成长:</p>
|
||||||
|
<p> 1、共同参与并完善artDialog或用blog/微博/Twitter把它分享它给更多的人。</p>
|
||||||
|
<p> 2、如artDialog有幸被用在你的项目,请您联系我,我后续将在artDialog主页展示您项目/企业的LOGO(目前有盛大phpCMS、腾讯、中国电信等企业使用它)。</p>
|
||||||
|
</div>
|
||||||
|
<div id="footer"></div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
(function(){
|
||||||
|
var myMail = 1987 + '.' + 'tangbin' + '@' + 'gmail.com';
|
||||||
|
myMail = '<a href="mailto:' + myMail + '">' + myMail + '</a>';
|
||||||
|
document.getElementById('myEmail').innerHTML = myMail;
|
||||||
|
|
||||||
|
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
<script>_isDemoSkin && window._demoSkin && _demoSkin();</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
/*!
|
||||||
|
* artDialog 4.1.7
|
||||||
|
* Date: 2013-03-03 08:04
|
||||||
|
* http://code.google.com/p/artdialog/
|
||||||
|
* (c) 2009-2012 TangBin, http://www.planeArt.cn
|
||||||
|
*
|
||||||
|
* This is licensed under the GNU LGPL, version 2.1 or later.
|
||||||
|
* For details, see: http://creativecommons.org/licenses/LGPL/2.1/
|
||||||
|
*/
|
||||||
|
(function(e,t,n){e.noop=e.noop||function(){};var r,i,s,o,u=0,a=e(t),f=e(document),l=e("html"),c=document.documentElement,h=t.VBArray&&!t.XMLHttpRequest,p="createTouch"in document&&!("onmousemove"in c)||/(iPhone|iPad|iPod)/i.test(navigator.userAgent),d="artDialog"+ +(new Date),v=function(t,i,s){t=t||{};if(typeof t=="string"||t.nodeType===1)t={content:t,fixed:!p};var o,a=v.defaults,f=t.follow=this.nodeType===1&&this||t.follow;for(var l in a)t[l]===n&&(t[l]=a[l]);return e.each({ok:"yesFn",cancel:"noFn",close:"closeFn",init:"initFn",okVal:"yesText",cancelVal:"noText"},function(e,r){t[e]=t[e]!==n?t[e]:t[r]}),typeof f=="string"&&(f=e(f)[0]),t.id=f&&f[d+"follow"]||t.id||d+u,o=v.list[t.id],f&&o?o.follow(f).zIndex().focus():o?o.zIndex().focus():(p&&(t.fixed=!1),e.isArray(t.button)||(t.button=t.button?[t.button]:[]),i!==n&&(t.ok=i),s!==n&&(t.cancel=s),t.ok&&t.button.push({name:t.okVal,callback:t.ok,focus:!0}),t.cancel&&t.button.push({name:t.cancelVal,callback:t.cancel}),v.defaults.zIndex=t.zIndex,u++,v.list[t.id]=r?r._init(t):new v.fn._init(t))};v.fn=v.prototype={version:"4.1.7",closed:!0,_init:function(e){var n=this,i,s=e.icon,o=s&&(h?{png:"icons/"+s+".png"}:{backgroundImage:"url('"+e.path+"/skins/icons/"+s+".png')"});return n.closed=!1,n.config=e,n.DOM=i=n.DOM||n._getDOM(),i.wrap.addClass(e.skin),i.close[e.cancel===!1?"hide":"show"](),i.icon[0].style.display=s?"":"none",i.iconBg.css(o||{background:"none"}),i.se.css("cursor",e.resize?"se-resize":"auto"),i.title.css("cursor",e.drag?"move":"auto"),i.content.css("padding",e.padding),n[e.show?"show":"hide"](!0),n.button(e.button).title(e.title).content(e.content,!0).size(e.width,e.height).time(e.time),e.follow?n.follow(e.follow):n.position(e.left,e.top),n.zIndex().focus(),e.lock&&n.lock(),n._addEvent(),n._ie6PngFix(),r=null,e.init&&e.init.call(n,t),n},content:function(e){var t,r,i,s,o=this,u=o.DOM,a=u.wrap[0],f=a.offsetWidth,l=a.offsetHeight,c=parseInt(a.style.left),h=parseInt(a.style.top),p=a.style.width,d=u.content,v=d[0];return o._elemBack&&o._elemBack(),a.style.width="auto",e===n?v:(typeof e=="string"?d.html(e):e&&e.nodeType===1&&(s=e.style.display,t=e.previousSibling,r=e.nextSibling,i=e.parentNode,o._elemBack=function(){t&&t.parentNode?t.parentNode.insertBefore(e,t.nextSibling):r&&r.parentNode?r.parentNode.insertBefore(e,r):i&&i.appendChild(e),e.style.display=s,o._elemBack=null},d.html(""),v.appendChild(e),e.style.display="block"),arguments[1]||(o.config.follow?o.follow(o.config.follow):(f=a.offsetWidth-f,l=a.offsetHeight-l,c-=f/2,h-=l/2,a.style.left=Math.max(c,0)+"px",a.style.top=Math.max(h,0)+"px"),p&&p!=="auto"&&(a.style.width=a.offsetWidth+"px"),o._autoPositionType()),o._ie6SelectFix(),o._runScript(v),o)},title:function(e){var t=this.DOM,r=t.wrap,i=t.title,s="aui_state_noTitle";return e===n?i[0]:(e===!1?(i.hide().html(""),r.addClass(s)):(i.show().html(e||""),r.removeClass(s)),this)},position:function(e,t){var r=this,i=r.config,s=r.DOM.wrap[0],o=h?!1:i.fixed,u=h&&r.config.fixed,l=f.scrollLeft(),c=f.scrollTop(),p=o?0:l,d=o?0:c,v=a.width(),m=a.height(),g=s.offsetWidth,y=s.offsetHeight,b=s.style;if(e||e===0)r._left=e.toString().indexOf("%")!==-1?e:null,e=r._toNumber(e,v-g),typeof e=="number"?(e=u?e+=l:e+p,b.left=Math.max(e,p)+"px"):typeof e=="string"&&(b.left=e);if(t||t===0)r._top=t.toString().indexOf("%")!==-1?t:null,t=r._toNumber(t,m-y),typeof t=="number"?(t=u?t+=c:t+d,b.top=Math.max(t,d)+"px"):typeof t=="string"&&(b.top=t);return e!==n&&t!==n&&(r._follow=null,r._autoPositionType()),r},size:function(e,t){var n,r,i,s,o=this,u=o.config,f=o.DOM,l=f.wrap,c=f.main,h=l[0].style,p=c[0].style;return e&&(o._width=e.toString().indexOf("%")!==-1?e:null,n=a.width()-l[0].offsetWidth+c[0].offsetWidth,i=o._toNumber(e,n),e=i,typeof e=="number"?(h.width="auto",p.width=Math.max(o.config.minWidth,e)+"px",h.width=l[0].offsetWidth+"px"):typeof e=="string"&&(p.width=e,e==="auto"&&l.css("width","auto"))),t&&(o._height=t.toString().indexOf("%")!==-1?t:null,r=a.height()-l[0].offsetHeight+c[0].offsetHeight,s=o._toNumber(t,r),t=s,typeof t=="number"?p.height=Math.max(o.config.minHeight,t)+"px":typeof t=="string"&&(p.height=t)),o._ie6SelectFix(),o},follow:function(t){var n,r=this,i=r.config;if(typeof t=="string"||t&&t.nodeType===1)n=e(t),t=n[0];if(!t||!t.offsetWidth&&!t.offsetHeight)return r.position(r._left,r._top);var s=d+"follow",o=a.width(),u=a.height(),l=f.scrollLeft(),c=f.scrollTop(),p=n.offset(),v=t.offsetWidth,m=t.offsetHeight,g=h?!1:i.fixed,y=g?p.left-l:p.left,b=g?p.top-c:p.top,w=r.DOM.wrap[0],E=w.style,S=w.offsetWidth,x=w.offsetHeight,T=y-(S-v)/2,N=b+m,C=g?0:l,k=g?0:c;return T=T<C?y:T+S>o&&y-S>C?y-S+v:T,N=N+x>u+k&&b-x>k?b-x:N,E.left=T+"px",E.top=N+"px",r._follow&&r._follow.removeAttribute(s),r._follow=t,t[s]=i.id,r._autoPositionType(),r},button:function(){var t=this,r=arguments,i=t.DOM,s=i.buttons,o=s[0],u="aui_state_highlight",a=t._listeners=t._listeners||{},f=e.isArray(r[0])?r[0]:[].slice.call(r);return r[0]===n?o:(e.each(f,function(n,r){var i=r.name,s=!a[i],f=s?document.createELine truncated
|
||||||
|
// skin life
|
||||||
|
(document.getElementsByTagName("script")),
|
||||||
|
s="blue"; /*i.src.split("skin=")[1]*/;if(s){var m=document.createElement("link");m.rel="stylesheet",m.href=o+"/skins/"+s+".css?"+v.fn.version,i.parentNode.insertBefore(m,i)}a.bind("load",function(){setTimeout(function(){if(u)return;v({left:"-9999em",time:9,fixed:!1,lock:!1,focus:!1})},150)});try{document.execCommand("BackgroundImageCache",!1,!0)}catch(g){}v._templates='<div class="aui_outer"><table class="aui_border"><tbody><tr><td class="aui_nw"></td><td class="aui_n"></td><td class="aui_ne"></td></tr><tr><td class="aui_w"></td><td class="aui_c"><div class="aui_inner"><table class="aui_dialog"><tbody><tr><td colspan="2" class="aui_header"><div class="aui_titleBar"><div class="aui_title"></div><a class="aui_close" href="javascript:/*artDialog*/;">\u00d7</a></div></td></tr><tr><td class="aui_icon"><div class="aui_iconBg"></div></td><td class="aui_main"><div class="aui_content"></div></td></tr><tr><td colspan="2" class="aui_footer"><div class="aui_buttons"></div></td></tr></tbody></table></div></td><td class="aui_e"></td></tr><tr><td class="aui_sw"></td><td class="aui_s"></td><td class="aui_se"></td></tr></tbody></table></div>',v.defaults={content:'<div class="aui_loading"><span>loading..</span></div>',title:"\u6d88\u606f",button:null,ok:null,cancel:null,init:null,close:null,okVal:"\u786e\u5b9a",cancelVal:"\u53d6\u6d88",width:"auto",height:"auto",minWidth:96,minHeight:32,padding:"20px 25px",skin:"",icon:null,time:null,esc:!0,focus:!0,show:!0,follow:null,path:o,lock:!1,background:"#000",opacity:.7,duration:300,fixed:!1,left:"50%",top:"38.2%",zIndex:1987,resize:!0,drag:!0},t.artDialog=e.dialog=e.artDialog=v})(this.art||this.jQuery&&(this.art=jQuery),this),function(e){var t,n,r=e(window),i=e(document),s=document.documentElement,o=!("minWidth"in s.style),u="onlosecapture"in s,a="setCapture"in s;artDialog.dragEvent=function(){var e=this,t=function(t){var n=e[t];e[t]=function(){return n.apply(e,arguments)}};t("start"),t("move"),t("end")},artDialog.dragEvent.prototype={onstart:e.noop,start:function(e){return i.bind("mousemove",this.move).bind("mouseup",this.end),this._sClientX=e.clientX,this._sClientY=e.clientY,this.onstart(e.clientX,e.clientY),!1},onmove:e.noop,move:function(e){return this._mClientX=e.clientX,this._mClientY=e.clientY,this.onmove(e.clientX-this._sClientX,e.clientY-this._sClientY),!1},onend:e.noop,end:function(e){return i.unbind("mousemove",this.move).unbind("mouseup",this.end),this.onend(e.clientX,e.clientY),!1}},n=function(e){var n,s,f,l,c,h,p=artDialog.focus,d=p.DOM,v=d.wrap,m=d.title,g=d.main,y="getSelection"in window?function(){window.getSelection().removeAllRanges()}:function(){try{document.selection.empty()}catch(e){}};t.onstart=function(e,n){h?(s=g[0].offsetWidth,f=g[0].offsetHeight):(l=v[0].offsetLeft,c=v[0].offsetTop),i.bind("dblclick",t.end),!o&&u?m.bind("losecapture",t.end):r.bind("blur",t.end),a&&m[0].setCapture(),v.addClass("aui_state_drag"),p.focus()},t.onmove=function(e,t){if(h){var r=v[0].style,i=g[0].style,o=e+s,u=t+f;r.width="auto",i.width=Math.max(0,o)+"px",r.width=v[0].offsetWidth+"px",i.height=Math.max(0,u)+"px"}else{var i=v[0].style,a=Math.max(n.minX,Math.min(n.maxX,e+l)),d=Math.max(n.minY,Math.min(n.maxY,t+c));i.left=a+"px",i.top=d+"px"}y(),p._ie6SelectFix()},t.onend=function(e,n){i.unbind("dblclick",t.end),!o&&u?m.unbind("losecapture",t.end):r.unbind("blur",t.end),a&&m[0].releaseCapture(),o&&!p.closed&&p._autoPositionType(),v.removeClass("aui_state_drag")},h=e.target===d.se[0]?!0:!1,n=function(){var e,t,n=p.DOM.wrap[0],s=n.style.position==="fixed",o=n.offsetWidth,u=n.offsetHeight,a=r.width(),f=r.height(),l=s?0:i.scrollLeft(),c=s?0:i.scrollTop(),e=a-o+l;return t=f-u+c,{minX:l,minY:c,maxX:e,maxY:t}}(),t.start(e)},i.bind("mousedown",function(e){var r=artDialog.focus;if(!r)return;var i=e.target,s=r.config,o=r.DOM;if(s.drag!==!1&&i===o.title[0]||s.resize!==!1&&i===o.se[0])return t=t||new artDialog.dragEvent,n(e),!1})}(this.art||this.jQuery&&(this.art=jQuery))
|
||||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,165 @@
|
|||||||
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
|
||||||
|
This version of the GNU Lesser General Public License incorporates
|
||||||
|
the terms and conditions of version 3 of the GNU General Public
|
||||||
|
License, supplemented by the additional permissions listed below.
|
||||||
|
|
||||||
|
0. Additional Definitions.
|
||||||
|
|
||||||
|
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||||
|
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||||
|
General Public License.
|
||||||
|
|
||||||
|
"The Library" refers to a covered work governed by this License,
|
||||||
|
other than an Application or a Combined Work as defined below.
|
||||||
|
|
||||||
|
An "Application" is any work that makes use of an interface provided
|
||||||
|
by the Library, but which is not otherwise based on the Library.
|
||||||
|
Defining a subclass of a class defined by the Library is deemed a mode
|
||||||
|
of using an interface provided by the Library.
|
||||||
|
|
||||||
|
A "Combined Work" is a work produced by combining or linking an
|
||||||
|
Application with the Library. The particular version of the Library
|
||||||
|
with which the Combined Work was made is also called the "Linked
|
||||||
|
Version".
|
||||||
|
|
||||||
|
The "Minimal Corresponding Source" for a Combined Work means the
|
||||||
|
Corresponding Source for the Combined Work, excluding any source code
|
||||||
|
for portions of the Combined Work that, considered in isolation, are
|
||||||
|
based on the Application, and not on the Linked Version.
|
||||||
|
|
||||||
|
The "Corresponding Application Code" for a Combined Work means the
|
||||||
|
object code and/or source code for the Application, including any data
|
||||||
|
and utility programs needed for reproducing the Combined Work from the
|
||||||
|
Application, but excluding the System Libraries of the Combined Work.
|
||||||
|
|
||||||
|
1. Exception to Section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
You may convey a covered work under sections 3 and 4 of this License
|
||||||
|
without being bound by section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
2. Conveying Modified Versions.
|
||||||
|
|
||||||
|
If you modify a copy of the Library, and, in your modifications, a
|
||||||
|
facility refers to a function or data to be supplied by an Application
|
||||||
|
that uses the facility (other than as an argument passed when the
|
||||||
|
facility is invoked), then you may convey a copy of the modified
|
||||||
|
version:
|
||||||
|
|
||||||
|
a) under this License, provided that you make a good faith effort to
|
||||||
|
ensure that, in the event an Application does not supply the
|
||||||
|
function or data, the facility still operates, and performs
|
||||||
|
whatever part of its purpose remains meaningful, or
|
||||||
|
|
||||||
|
b) under the GNU GPL, with none of the additional permissions of
|
||||||
|
this License applicable to that copy.
|
||||||
|
|
||||||
|
3. Object Code Incorporating Material from Library Header Files.
|
||||||
|
|
||||||
|
The object code form of an Application may incorporate material from
|
||||||
|
a header file that is part of the Library. You may convey such object
|
||||||
|
code under terms of your choice, provided that, if the incorporated
|
||||||
|
material is not limited to numerical parameters, data structure
|
||||||
|
layouts and accessors, or small macros, inline functions and templates
|
||||||
|
(ten or fewer lines in length), you do both of the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the object code that the
|
||||||
|
Library is used in it and that the Library and its use are
|
||||||
|
covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||||
|
document.
|
||||||
|
|
||||||
|
4. Combined Works.
|
||||||
|
|
||||||
|
You may convey a Combined Work under terms of your choice that,
|
||||||
|
taken together, effectively do not restrict modification of the
|
||||||
|
portions of the Library contained in the Combined Work and reverse
|
||||||
|
engineering for debugging such modifications, if you also do each of
|
||||||
|
the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the Combined Work that
|
||||||
|
the Library is used in it and that the Library and its use are
|
||||||
|
covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||||
|
document.
|
||||||
|
|
||||||
|
c) For a Combined Work that displays copyright notices during
|
||||||
|
execution, include the copyright notice for the Library among
|
||||||
|
these notices, as well as a reference directing the user to the
|
||||||
|
copies of the GNU GPL and this license document.
|
||||||
|
|
||||||
|
d) Do one of the following:
|
||||||
|
|
||||||
|
0) Convey the Minimal Corresponding Source under the terms of this
|
||||||
|
License, and the Corresponding Application Code in a form
|
||||||
|
suitable for, and under terms that permit, the user to
|
||||||
|
recombine or relink the Application with a modified version of
|
||||||
|
the Linked Version to produce a modified Combined Work, in the
|
||||||
|
manner specified by section 6 of the GNU GPL for conveying
|
||||||
|
Corresponding Source.
|
||||||
|
|
||||||
|
1) Use a suitable shared library mechanism for linking with the
|
||||||
|
Library. A suitable mechanism is one that (a) uses at run time
|
||||||
|
a copy of the Library already present on the user's computer
|
||||||
|
system, and (b) will operate properly with a modified version
|
||||||
|
of the Library that is interface-compatible with the Linked
|
||||||
|
Version.
|
||||||
|
|
||||||
|
e) Provide Installation Information, but only if you would otherwise
|
||||||
|
be required to provide such information under section 6 of the
|
||||||
|
GNU GPL, and only to the extent that such information is
|
||||||
|
necessary to install and execute a modified version of the
|
||||||
|
Combined Work produced by recombining or relinking the
|
||||||
|
Application with a modified version of the Linked Version. (If
|
||||||
|
you use option 4d0, the Installation Information must accompany
|
||||||
|
the Minimal Corresponding Source and Corresponding Application
|
||||||
|
Code. If you use option 4d1, you must provide the Installation
|
||||||
|
Information in the manner specified by section 6 of the GNU GPL
|
||||||
|
for conveying Corresponding Source.)
|
||||||
|
|
||||||
|
5. Combined Libraries.
|
||||||
|
|
||||||
|
You may place library facilities that are a work based on the
|
||||||
|
Library side by side in a single library together with other library
|
||||||
|
facilities that are not Applications and are not covered by this
|
||||||
|
License, and convey such a combined library under terms of your
|
||||||
|
choice, if you do both of the following:
|
||||||
|
|
||||||
|
a) Accompany the combined library with a copy of the same work based
|
||||||
|
on the Library, uncombined with any other library facilities,
|
||||||
|
conveyed under the terms of this License.
|
||||||
|
|
||||||
|
b) Give prominent notice with the combined library that part of it
|
||||||
|
is a work based on the Library, and explaining where to find the
|
||||||
|
accompanying uncombined form of the same work.
|
||||||
|
|
||||||
|
6. Revised Versions of the GNU Lesser General Public License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the GNU Lesser General Public License from time to time. Such new
|
||||||
|
versions will be similar in spirit to the present version, but may
|
||||||
|
differ in detail to address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the
|
||||||
|
Library as you received it specifies that a certain numbered version
|
||||||
|
of the GNU Lesser General Public License "or any later version"
|
||||||
|
applies to it, you have the option of following the terms and
|
||||||
|
conditions either of that published version or of any later version
|
||||||
|
published by the Free Software Foundation. If the Library as you
|
||||||
|
received it does not specify a version number of the GNU Lesser
|
||||||
|
General Public License, you may choose any version of the GNU Lesser
|
||||||
|
General Public License ever published by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Library as you received it specifies that a proxy can decide
|
||||||
|
whether future versions of the GNU Lesser General Public License shall
|
||||||
|
apply, that proxy's public statement of acceptance of any version is
|
||||||
|
permanent authorization for you to choose that version for the
|
||||||
|
Library.
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
/*!
|
||||||
|
* artDialog 4.1.7
|
||||||
|
* Date: 2013-03-03 08:04
|
||||||
|
* http://code.google.com/p/artdialog/
|
||||||
|
* (c) 2009-2012 TangBin, http://www.planeArt.cn
|
||||||
|
*
|
||||||
|
* This is licensed under the GNU LGPL, version 2.1 or later.
|
||||||
|
* For details, see: http://creativecommons.org/licenses/LGPL/2.1/
|
||||||
|
*/
|
||||||
|
(function(e,t){function h(e,t,n){t=t||document,n=n||"*";var r=0,i=0,s=[],o=t.getElementsByTagName(n),u=o.length,a=new RegExp("(^|\\s)"+e+"(\\s|$)");for(;r<u;r++)a.test(o[r].className)&&(s[i]=o[r],i++);return s}function p(r){var i=n.expando,s=r===e?0:r[i];return s===t&&(r[i]=s=++n.uuid),s}function d(){if(n.isReady)return;try{document.documentElement.doScroll("left")}catch(e){setTimeout(d,1);return}n.ready()}function v(e){return n.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}var n=e.art=function(e,t){return new n.fn.init(e,t)},r=!1,i=[],s,o="opacity"in document.documentElement.style,u=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,a=/[\n\t]/g,f=/alpha\([^)]*\)/i,l=/opacity=([^)]*)/,c=/^([+-]=)?([\d+-.]+)(.*)$/;return e.$===t&&(e.$=n),n.fn=n.prototype={constructor:n,ready:function(e){return n.bindReady(),n.isReady?e.call(document,n):i&&i.push(e),this},hasClass:function(e){var t=" "+e+" ";return(" "+this[0].className+" ").replace(a," ").indexOf(t)>-1?!0:!1},addClass:function(e){return this.hasClass(e)||(this[0].className+=" "+e),this},removeClass:function(e){var t=this[0];return e?this.hasClass(e)&&(t.className=t.className.replace(e," ")):t.className="",this},css:function(e,r){var i,s=this[0],o=arguments[0];if(typeof e=="string"){if(r===t)return n.css(s,e);e==="opacity"?n.opacity.set(s,r):s.style[e]=r}else for(i in o)i==="opacity"?n.opacity.set(s,o[i]):s.style[i]=o[i];return this},show:function(){return this.css("display","block")},hide:function(){return this.css("display","none")},offset:function(){var e=this[0],t=e.getBoundingClientRect(),n=e.ownerDocument,r=n.body,i=n.documentElement,s=i.clientTop||r.clientTop||0,o=i.clientLeft||r.clientLeft||0,u=t.top+(self.pageYOffset||i.scrollTop)-s,a=t.left+(self.pageXOffset||i.scrollLeft)-o;return{left:a,top:u}},html:function(e){var r=this[0];return e===t?r.innerHTML:(n.cleanData(r.getElementsByTagName("*")),r.innerHTML=e,this)},remove:function(){var e=this[0];return n.cleanData(e.getElementsByTagName("*")),n.cleanData([e]),e.parentNode.removeChild(e),this},bind:function(e,t){return n.event.add(this[0],e,t),this},unbind:function(e,t){return n.event.remove(this[0],e,t),this}},n.fn.init=function(e,t){var r,i;t=t||document;if(!e)return this;if(e.nodeType)return this[0]=e,this;if(e==="body"&&t.body)return this[0]=t.body,this;if(e==="head"||e==="html")return this[0]=t.getElementsByTagName(e)[0],this;if(typeof e=="string"){r=u.exec(e);if(r&&r[2])return i=t.getElementById(r[2]),i&&i.parentNode&&(this[0]=i),this}return typeof e=="function"?n(document).ready(e):(this[0]=e,this)},n.fn.init.prototype=n.fn,n.noop=function(){},n.isWindow=function(e){return e&&typeof e=="object"&&"setInterval"in e},n.isArray=function(e){return Object.prototype.toString.call(e)==="[object Array]"},n.fn.find=function(e){var t,r=this[0],i=e.split(".")[1];return i?document.getElementsByClassName?t=r.getElementsByClassName(i):t=h(i,r):t=r.getElementsByTagName(e),n(t[0])},n.each=function(e,n){var r,i=0,s=e.length,o=s===t;if(o){for(r in e)if(n.call(e[r],r,e[r])===!1)break}else for(var u=e[0];i<s&&n.call(u,i,u)!==!1;u=e[++i]);return e},n.data=function(e,r,i){var s=n.cache,o=p(e);return r===t?s[o]:(s[o]||(s[o]={}),i!==t&&(s[o][r]=i),s[o][r])},n.removeData=function(e,t){var r=!0,i=n.expando,s=n.cache,o=p(e),u=o&&s[o];if(!u)return;if(t){delete u[t];for(var a in u)r=!1;r&&delete n.cache[o]}else delete s[o],e.removeAttribute?e.removeAttribute(i):e[i]=null},n.uuid=0,n.cache={},n.expando="@cache"+ +(new Date),n.event={add:function(e,t,r){var i,s,o=n.event,u=n.data(e,"@events")||n.data(e,"@events",{});i=u[t]=u[t]||{},s=i.listeners=i.listeners||[],s.push(r),i.handler||(i.elem=e,i.handler=o.handler(i),e.addEventListener?e.addEventListener(t,i.handler,!1):e.attachEvent("on"+t,i.handler))},remove:function(e,t,r){var i,s,o,u=n.event,a=!0,f=n.data(e,"@events");if(!f)return;if(!t){for(i in f)u.remove(e,i);return}s=f[t];if(!s)return;o=s.listeners;if(r)for(i=0;i<o.length;i++)o[i]===r&&o.splice(i--,1);else s.listeners=[];if(s.listeners.length===0){e.removeEventListener?e.removeEventListener(t,s.handler,!1):e.detachEvent("on"+t,s.handler),delete f[t],s=n.data(e,"@events");for(var l in s)a=!1;a&&n.removeData(e,"@events")}},handler:function(t){return function(r){r=n.event.fix(r||e.event);for(var i=0,s=t.listeners,o;o=s[i++];)o.call(t.elem,r)===!1&&(r.preventDefault(),r.stopPropagation())}},fix:function(e){if(e.target)return e;var t={target:e.srcElement||document,preventDefault:function(){e.returnValue=!1},stopPropagation:function(){e.cancelBubble=!0}};for(var n in e)t[n]=e[n];return t}},n.cleanData=function(e){var t=0,r,i=e.length,s=n.event.remove,o=n.removeData;for(;t<i;t++)r=e[t],s(r),o(r)},n.isReady=!1,n.ready=function(){if(!n.isReady){if(!document.body)return setTimeout(n.ready,13);n.isReady=!0;if(i){var e,t=0;while(e=i[t++])e.call(document,n);i=null}}},n.bindReady=function(){if(r)return;r=!0;if(document.readyState==="complete")return n.ready();if(document.addEventListener)document.addEventListener("DOMContentLoLine truncated
|
||||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,13 @@
|
|||||||
|
/*!
|
||||||
|
* artDialog 4.1.7
|
||||||
|
* Date: 2013-03-03 08:04
|
||||||
|
* http://code.google.com/p/artdialog/
|
||||||
|
* (c) 2009-2012 TangBin, http://www.planeArt.cn
|
||||||
|
*
|
||||||
|
* This is licensed under the GNU LGPL, version 2.1 or later.
|
||||||
|
* For details, see: http://creativecommons.org/licenses/LGPL/2.1/
|
||||||
|
*/
|
||||||
|
(function(e,t,n){e.noop=e.noop||function(){};var r,i,s,o,u=0,a=e(t),f=e(document),l=e("html"),c=document.documentElement,h=t.VBArray&&!t.XMLHttpRequest,p="createTouch"in document&&!("onmousemove"in c)||/(iPhone|iPad|iPod)/i.test(navigator.userAgent),d="artDialog"+ +(new Date),v=function(t,i,s){t=t||{};if(typeof t=="string"||t.nodeType===1)t={content:t,fixed:!p};var o,a=v.defaults,f=t.follow=this.nodeType===1&&this||t.follow;for(var l in a)t[l]===n&&(t[l]=a[l]);return e.each({ok:"yesFn",cancel:"noFn",close:"closeFn",init:"initFn",okVal:"yesText",cancelVal:"noText"},function(e,r){t[e]=t[e]!==n?t[e]:t[r]}),typeof f=="string"&&(f=e(f)[0]),t.id=f&&f[d+"follow"]||t.id||d+u,o=v.list[t.id],f&&o?o.follow(f).zIndex().focus():o?o.zIndex().focus():(p&&(t.fixed=!1),e.isArray(t.button)||(t.button=t.button?[t.button]:[]),i!==n&&(t.ok=i),s!==n&&(t.cancel=s),t.ok&&t.button.push({name:t.okVal,callback:t.ok,focus:!0}),t.cancel&&t.button.push({name:t.cancelVal,callback:t.cancel}),v.defaults.zIndex=t.zIndex,u++,v.list[t.id]=r?r._init(t):new v.fn._init(t))};v.fn=v.prototype={version:"4.1.7",closed:!0,_init:function(e){var n=this,i,s=e.icon,o=s&&(h?{png:"icons/"+s+".png"}:{backgroundImage:"url('"+e.path+"/skins/icons/"+s+".png')"});return n.closed=!1,n.config=e,n.DOM=i=n.DOM||n._getDOM(),i.wrap.addClass(e.skin),i.close[e.cancel===!1?"hide":"show"](),i.icon[0].style.display=s?"":"none",i.iconBg.css(o||{background:"none"}),i.se.css("cursor",e.resize?"se-resize":"auto"),i.title.css("cursor",e.drag?"move":"auto"),i.content.css("padding",e.padding),n[e.show?"show":"hide"](!0),n.button(e.button).title(e.title).content(e.content,!0).size(e.width,e.height).time(e.time),e.follow?n.follow(e.follow):n.position(e.left,e.top),n.zIndex().focus(),e.lock&&n.lock(),n._addEvent(),n._ie6PngFix(),r=null,e.init&&e.init.call(n,t),n},content:function(e){var t,r,i,s,o=this,u=o.DOM,a=u.wrap[0],f=a.offsetWidth,l=a.offsetHeight,c=parseInt(a.style.left),h=parseInt(a.style.top),p=a.style.width,d=u.content,v=d[0];return o._elemBack&&o._elemBack(),a.style.width="auto",e===n?v:(typeof e=="string"?d.html(e):e&&e.nodeType===1&&(s=e.style.display,t=e.previousSibling,r=e.nextSibling,i=e.parentNode,o._elemBack=function(){t&&t.parentNode?t.parentNode.insertBefore(e,t.nextSibling):r&&r.parentNode?r.parentNode.insertBefore(e,r):i&&i.appendChild(e),e.style.display=s,o._elemBack=null},d.html(""),v.appendChild(e),e.style.display="block"),arguments[1]||(o.config.follow?o.follow(o.config.follow):(f=a.offsetWidth-f,l=a.offsetHeight-l,c-=f/2,h-=l/2,a.style.left=Math.max(c,0)+"px",a.style.top=Math.max(h,0)+"px"),p&&p!=="auto"&&(a.style.width=a.offsetWidth+"px"),o._autoPositionType()),o._ie6SelectFix(),o._runScript(v),o)},title:function(e){var t=this.DOM,r=t.wrap,i=t.title,s="aui_state_noTitle";return e===n?i[0]:(e===!1?(i.hide().html(""),r.addClass(s)):(i.show().html(e||""),r.removeClass(s)),this)},position:function(e,t){var r=this,i=r.config,s=r.DOM.wrap[0],o=h?!1:i.fixed,u=h&&r.config.fixed,l=f.scrollLeft(),c=f.scrollTop(),p=o?0:l,d=o?0:c,v=a.width(),m=a.height(),g=s.offsetWidth,y=s.offsetHeight,b=s.style;if(e||e===0)r._left=e.toString().indexOf("%")!==-1?e:null,e=r._toNumber(e,v-g),typeof e=="number"?(e=u?e+=l:e+p,b.left=Math.max(e,p)+"px"):typeof e=="string"&&(b.left=e);if(t||t===0)r._top=t.toString().indexOf("%")!==-1?t:null,t=r._toNumber(t,m-y),typeof t=="number"?(t=u?t+=c:t+d,b.top=Math.max(t,d)+"px"):typeof t=="string"&&(b.top=t);return e!==n&&t!==n&&(r._follow=null,r._autoPositionType()),r},size:function(e,t){var n,r,i,s,o=this,u=o.config,f=o.DOM,l=f.wrap,c=f.main,h=l[0].style,p=c[0].style;return e&&(o._width=e.toString().indexOf("%")!==-1?e:null,n=a.width()-l[0].offsetWidth+c[0].offsetWidth,i=o._toNumber(e,n),e=i,typeof e=="number"?(h.width="auto",p.width=Math.max(o.config.minWidth,e)+"px",h.width=l[0].offsetWidth+"px"):typeof e=="string"&&(p.width=e,e==="auto"&&l.css("width","auto"))),t&&(o._height=t.toString().indexOf("%")!==-1?t:null,r=a.height()-l[0].offsetHeight+c[0].offsetHeight,s=o._toNumber(t,r),t=s,typeof t=="number"?p.height=Math.max(o.config.minHeight,t)+"px":typeof t=="string"&&(p.height=t)),o._ie6SelectFix(),o},follow:function(t){var n,r=this,i=r.config;if(typeof t=="string"||t&&t.nodeType===1)n=e(t),t=n[0];if(!t||!t.offsetWidth&&!t.offsetHeight)return r.position(r._left,r._top);var s=d+"follow",o=a.width(),u=a.height(),l=f.scrollLeft(),c=f.scrollTop(),p=n.offset(),v=t.offsetWidth,m=t.offsetHeight,g=h?!1:i.fixed,y=g?p.left-l:p.left,b=g?p.top-c:p.top,w=r.DOM.wrap[0],E=w.style,S=w.offsetWidth,x=w.offsetHeight,T=y-(S-v)/2,N=b+m,C=g?0:l,k=g?0:c;return T=T<C?y:T+S>o&&y-S>C?y-S+v:T,N=N+x>u+k&&b-x>k?b-x:N,E.left=T+"px",E.top=N+"px",r._follow&&r._follow.removeAttribute(s),r._follow=t,t[s]=i.id,r._autoPositionType(),r},button:function(){var t=this,r=arguments,i=t.DOM,s=i.buttons,o=s[0],u="aui_state_highlight",a=t._listeners=t._listeners||{},f=e.isArray(r[0])?r[0]:[].slice.call(r);return r[0]===n?o:(e.each(f,function(n,r){var i=r.name,s=!a[i],f=s?document.createELine truncated
|
||||||
|
// skin life
|
||||||
|
(document.getElementsByTagName("script")),
|
||||||
|
s="blue"; /*i.src.split("skin=")[1]*/;if(s){var m=document.createElement("link");m.rel="stylesheet",m.href=o+"/skins/"+s+".css?"+v.fn.version,i.parentNode.insertBefore(m,i)}a.bind("load",function(){setTimeout(function(){if(u)return;v({left:"-9999em",time:9,fixed:!1,lock:!1,focus:!1})},150)});try{document.execCommand("BackgroundImageCache",!1,!0)}catch(g){}v._templates='<div class="aui_outer"><table class="aui_border"><tbody><tr><td class="aui_nw"></td><td class="aui_n"></td><td class="aui_ne"></td></tr><tr><td class="aui_w"></td><td class="aui_c"><div class="aui_inner"><table class="aui_dialog"><tbody><tr><td colspan="2" class="aui_header"><div class="aui_titleBar"><div class="aui_title"></div><a class="aui_close" href="javascript:/*artDialog*/;">\u00d7</a></div></td></tr><tr><td class="aui_icon"><div class="aui_iconBg"></div></td><td class="aui_main"><div class="aui_content"></div></td></tr><tr><td colspan="2" class="aui_footer"><div class="aui_buttons"></div></td></tr></tbody></table></div></td><td class="aui_e"></td></tr><tr><td class="aui_sw"></td><td class="aui_s"></td><td class="aui_se"></td></tr></tbody></table></div>',v.defaults={content:'<div class="aui_loading"><span>loading..</span></div>',title:"\u6d88\u606f",button:null,ok:null,cancel:null,init:null,close:null,okVal:"\u786e\u5b9a",cancelVal:"\u53d6\u6d88",width:"auto",height:"auto",minWidth:96,minHeight:32,padding:"20px 25px",skin:"",icon:null,time:null,esc:!0,focus:!0,show:!0,follow:null,path:o,lock:!1,background:"#000",opacity:.7,duration:300,fixed:!1,left:"50%",top:"38.2%",zIndex:1987,resize:!0,drag:!0},t.artDialog=e.dialog=e.artDialog=v})(this.art||this.jQuery&&(this.art=jQuery),this),function(e){var t,n,r=e(window),i=e(document),s=document.documentElement,o=!("minWidth"in s.style),u="onlosecapture"in s,a="setCapture"in s;artDialog.dragEvent=function(){var e=this,t=function(t){var n=e[t];e[t]=function(){return n.apply(e,arguments)}};t("start"),t("move"),t("end")},artDialog.dragEvent.prototype={onstart:e.noop,start:function(e){return i.bind("mousemove",this.move).bind("mouseup",this.end),this._sClientX=e.clientX,this._sClientY=e.clientY,this.onstart(e.clientX,e.clientY),!1},onmove:e.noop,move:function(e){return this._mClientX=e.clientX,this._mClientY=e.clientY,this.onmove(e.clientX-this._sClientX,e.clientY-this._sClientY),!1},onend:e.noop,end:function(e){return i.unbind("mousemove",this.move).unbind("mouseup",this.end),this.onend(e.clientX,e.clientY),!1}},n=function(e){var n,s,f,l,c,h,p=artDialog.focus,d=p.DOM,v=d.wrap,m=d.title,g=d.main,y="getSelection"in window?function(){window.getSelection().removeAllRanges()}:function(){try{document.selection.empty()}catch(e){}};t.onstart=function(e,n){h?(s=g[0].offsetWidth,f=g[0].offsetHeight):(l=v[0].offsetLeft,c=v[0].offsetTop),i.bind("dblclick",t.end),!o&&u?m.bind("losecapture",t.end):r.bind("blur",t.end),a&&m[0].setCapture(),v.addClass("aui_state_drag"),p.focus()},t.onmove=function(e,t){if(h){var r=v[0].style,i=g[0].style,o=e+s,u=t+f;r.width="auto",i.width=Math.max(0,o)+"px",r.width=v[0].offsetWidth+"px",i.height=Math.max(0,u)+"px"}else{var i=v[0].style,a=Math.max(n.minX,Math.min(n.maxX,e+l)),d=Math.max(n.minY,Math.min(n.maxY,t+c));i.left=a+"px",i.top=d+"px"}y(),p._ie6SelectFix()},t.onend=function(e,n){i.unbind("dblclick",t.end),!o&&u?m.unbind("losecapture",t.end):r.unbind("blur",t.end),a&&m[0].releaseCapture(),o&&!p.closed&&p._autoPositionType(),v.removeClass("aui_state_drag")},h=e.target===d.se[0]?!0:!1,n=function(){var e,t,n=p.DOM.wrap[0],s=n.style.position==="fixed",o=n.offsetWidth,u=n.offsetHeight,a=r.width(),f=r.height(),l=s?0:i.scrollLeft(),c=s?0:i.scrollTop(),e=a-o+l;return t=f-u+c,{minX:l,minY:c,maxX:e,maxY:t}}(),t.start(e)},i.bind("mousedown",function(e){var r=artDialog.focus;if(!r)return;var i=e.target,s=r.config,o=r.DOM;if(s.drag!==!1&&i===o.title[0]||s.resize!==!1&&i===o.se[0])return t=t||new artDialog.dragEvent,n(e),!1})}(this.art||this.jQuery&&(this.art=jQuery))
|
||||||
@@ -0,0 +1,165 @@
|
|||||||
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
|
||||||
|
This version of the GNU Lesser General Public License incorporates
|
||||||
|
the terms and conditions of version 3 of the GNU General Public
|
||||||
|
License, supplemented by the additional permissions listed below.
|
||||||
|
|
||||||
|
0. Additional Definitions.
|
||||||
|
|
||||||
|
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||||
|
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||||
|
General Public License.
|
||||||
|
|
||||||
|
"The Library" refers to a covered work governed by this License,
|
||||||
|
other than an Application or a Combined Work as defined below.
|
||||||
|
|
||||||
|
An "Application" is any work that makes use of an interface provided
|
||||||
|
by the Library, but which is not otherwise based on the Library.
|
||||||
|
Defining a subclass of a class defined by the Library is deemed a mode
|
||||||
|
of using an interface provided by the Library.
|
||||||
|
|
||||||
|
A "Combined Work" is a work produced by combining or linking an
|
||||||
|
Application with the Library. The particular version of the Library
|
||||||
|
with which the Combined Work was made is also called the "Linked
|
||||||
|
Version".
|
||||||
|
|
||||||
|
The "Minimal Corresponding Source" for a Combined Work means the
|
||||||
|
Corresponding Source for the Combined Work, excluding any source code
|
||||||
|
for portions of the Combined Work that, considered in isolation, are
|
||||||
|
based on the Application, and not on the Linked Version.
|
||||||
|
|
||||||
|
The "Corresponding Application Code" for a Combined Work means the
|
||||||
|
object code and/or source code for the Application, including any data
|
||||||
|
and utility programs needed for reproducing the Combined Work from the
|
||||||
|
Application, but excluding the System Libraries of the Combined Work.
|
||||||
|
|
||||||
|
1. Exception to Section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
You may convey a covered work under sections 3 and 4 of this License
|
||||||
|
without being bound by section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
2. Conveying Modified Versions.
|
||||||
|
|
||||||
|
If you modify a copy of the Library, and, in your modifications, a
|
||||||
|
facility refers to a function or data to be supplied by an Application
|
||||||
|
that uses the facility (other than as an argument passed when the
|
||||||
|
facility is invoked), then you may convey a copy of the modified
|
||||||
|
version:
|
||||||
|
|
||||||
|
a) under this License, provided that you make a good faith effort to
|
||||||
|
ensure that, in the event an Application does not supply the
|
||||||
|
function or data, the facility still operates, and performs
|
||||||
|
whatever part of its purpose remains meaningful, or
|
||||||
|
|
||||||
|
b) under the GNU GPL, with none of the additional permissions of
|
||||||
|
this License applicable to that copy.
|
||||||
|
|
||||||
|
3. Object Code Incorporating Material from Library Header Files.
|
||||||
|
|
||||||
|
The object code form of an Application may incorporate material from
|
||||||
|
a header file that is part of the Library. You may convey such object
|
||||||
|
code under terms of your choice, provided that, if the incorporated
|
||||||
|
material is not limited to numerical parameters, data structure
|
||||||
|
layouts and accessors, or small macros, inline functions and templates
|
||||||
|
(ten or fewer lines in length), you do both of the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the object code that the
|
||||||
|
Library is used in it and that the Library and its use are
|
||||||
|
covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||||
|
document.
|
||||||
|
|
||||||
|
4. Combined Works.
|
||||||
|
|
||||||
|
You may convey a Combined Work under terms of your choice that,
|
||||||
|
taken together, effectively do not restrict modification of the
|
||||||
|
portions of the Library contained in the Combined Work and reverse
|
||||||
|
engineering for debugging such modifications, if you also do each of
|
||||||
|
the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the Combined Work that
|
||||||
|
the Library is used in it and that the Library and its use are
|
||||||
|
covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||||
|
document.
|
||||||
|
|
||||||
|
c) For a Combined Work that displays copyright notices during
|
||||||
|
execution, include the copyright notice for the Library among
|
||||||
|
these notices, as well as a reference directing the user to the
|
||||||
|
copies of the GNU GPL and this license document.
|
||||||
|
|
||||||
|
d) Do one of the following:
|
||||||
|
|
||||||
|
0) Convey the Minimal Corresponding Source under the terms of this
|
||||||
|
License, and the Corresponding Application Code in a form
|
||||||
|
suitable for, and under terms that permit, the user to
|
||||||
|
recombine or relink the Application with a modified version of
|
||||||
|
the Linked Version to produce a modified Combined Work, in the
|
||||||
|
manner specified by section 6 of the GNU GPL for conveying
|
||||||
|
Corresponding Source.
|
||||||
|
|
||||||
|
1) Use a suitable shared library mechanism for linking with the
|
||||||
|
Library. A suitable mechanism is one that (a) uses at run time
|
||||||
|
a copy of the Library already present on the user's computer
|
||||||
|
system, and (b) will operate properly with a modified version
|
||||||
|
of the Library that is interface-compatible with the Linked
|
||||||
|
Version.
|
||||||
|
|
||||||
|
e) Provide Installation Information, but only if you would otherwise
|
||||||
|
be required to provide such information under section 6 of the
|
||||||
|
GNU GPL, and only to the extent that such information is
|
||||||
|
necessary to install and execute a modified version of the
|
||||||
|
Combined Work produced by recombining or relinking the
|
||||||
|
Application with a modified version of the Linked Version. (If
|
||||||
|
you use option 4d0, the Installation Information must accompany
|
||||||
|
the Minimal Corresponding Source and Corresponding Application
|
||||||
|
Code. If you use option 4d1, you must provide the Installation
|
||||||
|
Information in the manner specified by section 6 of the GNU GPL
|
||||||
|
for conveying Corresponding Source.)
|
||||||
|
|
||||||
|
5. Combined Libraries.
|
||||||
|
|
||||||
|
You may place library facilities that are a work based on the
|
||||||
|
Library side by side in a single library together with other library
|
||||||
|
facilities that are not Applications and are not covered by this
|
||||||
|
License, and convey such a combined library under terms of your
|
||||||
|
choice, if you do both of the following:
|
||||||
|
|
||||||
|
a) Accompany the combined library with a copy of the same work based
|
||||||
|
on the Library, uncombined with any other library facilities,
|
||||||
|
conveyed under the terms of this License.
|
||||||
|
|
||||||
|
b) Give prominent notice with the combined library that part of it
|
||||||
|
is a work based on the Library, and explaining where to find the
|
||||||
|
accompanying uncombined form of the same work.
|
||||||
|
|
||||||
|
6. Revised Versions of the GNU Lesser General Public License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the GNU Lesser General Public License from time to time. Such new
|
||||||
|
versions will be similar in spirit to the present version, but may
|
||||||
|
differ in detail to address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the
|
||||||
|
Library as you received it specifies that a certain numbered version
|
||||||
|
of the GNU Lesser General Public License "or any later version"
|
||||||
|
applies to it, you have the option of following the terms and
|
||||||
|
conditions either of that published version or of any later version
|
||||||
|
published by the Free Software Foundation. If the Library as you
|
||||||
|
received it does not specify a version number of the GNU Lesser
|
||||||
|
General Public License, you may choose any version of the GNU Lesser
|
||||||
|
General Public License ever published by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Library as you received it specifies that a proxy can decide
|
||||||
|
whether future versions of the GNU Lesser General Public License shall
|
||||||
|
apply, that proxy's public statement of acceptance of any version is
|
||||||
|
permanent authorization for you to choose that version for the
|
||||||
|
Library.
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 76
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins
|
||||||
|
END
|
||||||
|
black.css
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 86
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/black.css
|
||||||
|
END
|
||||||
|
aero.css
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 85
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/aero.css
|
||||||
|
END
|
||||||
|
default.css
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 88
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/default.css
|
||||||
|
END
|
||||||
|
idialog.css
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 88
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/idialog.css
|
||||||
|
END
|
||||||
|
simple.css
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 87
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/simple.css
|
||||||
|
END
|
||||||
|
green.css
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 86
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/green.css
|
||||||
|
END
|
||||||
|
opera.css
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 86
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/opera.css
|
||||||
|
END
|
||||||
|
twitter.css
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 88
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/twitter.css
|
||||||
|
END
|
||||||
|
blue.css
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 85
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/blue.css
|
||||||
|
END
|
||||||
|
chrome.css
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 87
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/chrome.css
|
||||||
|
END
|
||||||
@@ -0,0 +1,399 @@
|
|||||||
|
10
|
||||||
|
|
||||||
|
dir
|
||||||
|
371
|
||||||
|
https://42.121.52.247/svn/ecmall/ecmall/includes/libraries/javascript/artDialog/skins
|
||||||
|
https://42.121.52.247/svn/ecmall
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
|
||||||
|
|
||||||
|
svn:special svn:externals svn:needs-lock
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
d8fde07f-0130-2f47-8851-2ad99dc1c468
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
0
|
||||||
|
|
||||||
|
aero
|
||||||
|
dir
|
||||||
|
|
||||||
|
aero.css
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
ffb24ffafdaed4cb0d77218a2169cb8c
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
6857
|
||||||
|
|
||||||
|
black
|
||||||
|
dir
|
||||||
|
|
||||||
|
black.css
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
f261bf2ccc44af55e65a12c3eda3d53e
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
7958
|
||||||
|
|
||||||
|
blue
|
||||||
|
dir
|
||||||
|
|
||||||
|
blue.css
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
054fb22cd957ae6968edaecbaf698a12
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
7952
|
||||||
|
|
||||||
|
chrome
|
||||||
|
dir
|
||||||
|
|
||||||
|
chrome.css
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
f2a175510f681ab5c28ece895a44df5b
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
6600
|
||||||
|
|
||||||
|
default.css
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
e1967d793364d45309c9196df7f8ba6f
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
7933
|
||||||
|
|
||||||
|
green
|
||||||
|
dir
|
||||||
|
|
||||||
|
green.css
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
1166cb9031fa7a780b629ba7c95ce734
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
7963
|
||||||
|
|
||||||
|
icons
|
||||||
|
dir
|
||||||
|
|
||||||
|
idialog
|
||||||
|
dir
|
||||||
|
|
||||||
|
idialog.css
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
1155e42520b0ff49a450e2a71013b2de
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
6807
|
||||||
|
|
||||||
|
opera
|
||||||
|
dir
|
||||||
|
|
||||||
|
opera.css
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
9753ed06aaf2a3d48f60beb3bd45b00c
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
6873
|
||||||
|
|
||||||
|
simple.css
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
23414e4767fc102e17bbc5112602554e
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
6006
|
||||||
|
|
||||||
|
twitter.css
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
78f6ddd7e1bcf60b7deb15cb478fd090
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
6118
|
||||||
|
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
END
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
END
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
END
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
END
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
END
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
END
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
END
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
END
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
END
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
END
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
@charset "utf-8";
|
||||||
|
/*
|
||||||
|
* artDialog skin
|
||||||
|
* http://code.google.com/p/artdialog/
|
||||||
|
* (c) 2009-2011 TangBin, http://www.planeArt.cn
|
||||||
|
*
|
||||||
|
* This is licensed under the GNU LGPL, version 2.1 or later.
|
||||||
|
* For details, see: http://creativecommons.org/licenses/LGPL/2.1/
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* common start */
|
||||||
|
body { _margin:0; _height:100%; /*IE6 BUG*/ }
|
||||||
|
.aui_outer { text-align:left; }
|
||||||
|
table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; }
|
||||||
|
.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; }
|
||||||
|
.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; }
|
||||||
|
.aui_title { overflow:hidden; text-overflow: ellipsis; }
|
||||||
|
.aui_state_noTitle .aui_title { display:none; }
|
||||||
|
.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; }
|
||||||
|
.aui_close:hover { text-decoration:none; }
|
||||||
|
.aui_main { text-align:center; min-width:9em; min-width:0\9/*IE8 BUG*/; }
|
||||||
|
.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; }
|
||||||
|
.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; }
|
||||||
|
.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; }
|
||||||
|
.aui_icon { vertical-align: middle; }
|
||||||
|
.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; }
|
||||||
|
.aui_buttons { padding:8px; text-align:right; white-space:nowrap; }
|
||||||
|
.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; }
|
||||||
|
.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; }
|
||||||
|
.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); }
|
||||||
|
.aui_buttons button:hover { color:#000; border-color:#666; }
|
||||||
|
.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); }
|
||||||
|
.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; }
|
||||||
|
button.aui_state_highlight { color: #FFF; border: solid 1px #1c6a9e; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; }
|
||||||
|
button.aui_state_highlight:hover { color:#FFF; border-color:#0F3A56; }
|
||||||
|
button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); }
|
||||||
|
/* common end */
|
||||||
|
|
||||||
|
.aui_inner { background:#FFF; }
|
||||||
|
.aui_titleBar { width:100%; height:0; position:relative; bottom:30px; _bottom:0; _margin-top:-30px; }
|
||||||
|
.aui_title { height:29px; line-height:29px; padding:0 16px 0 0; _padding:0; color:#FFF; font-weight:700; text-shadow:1px 1px 0 rgba(0, 0, 0, .9); }
|
||||||
|
.aui_nw, .aui_ne, .aui_sw, .aui_se, .aui_n, .aui_s, .aui_close { background-image:url(aero/aero_s.png); background-repeat:no-repeat; }
|
||||||
|
.aui_nw { width:14px; height:34px; background-position: 0 0; _png:aero/ie6/aui_nw.png; }
|
||||||
|
.aui_ne { width:14px; height:34px; background-position: -14px 0; _png:aero/ie6/aui_ne.png; }
|
||||||
|
.aui_sw { width:14px; height:14px; background-position: 0 -34px; _png:aero/ie6/aui_sw.png; }
|
||||||
|
.aui_se { width:14px; height:14px; background-position: -14px -34px; _png:aero/ie6/aui_se.png; }
|
||||||
|
.aui_close { top:7px; right:0; _z-index:1; width:13px; height:13px; _font-size:0; _line-height:0; text-indent:-9999em; background-position:left -96px; _background:url(aero/ie6/aui_close.png); }
|
||||||
|
.aui_close:hover { background-position:right -96px; _background:url(aero/ie6/aui_close.hover.png); }
|
||||||
|
.aui_n, .aui_s { background-repeat:repeat-x; }
|
||||||
|
.aui_n { background-position: 0 -48px; _png:aero/ie6/aui_n.png; }
|
||||||
|
.aui_s { background-position: 0 -82px; _png:aero/ie6/aui_s.png; }
|
||||||
|
.aui_w, .aui_e { background-image:url(aero/aero_s2.png); background-repeat:repeat-y; }
|
||||||
|
.aui_w { background-position:left top; _png:aero/ie6/aui_w.png; }
|
||||||
|
.aui_e { background-position: right bottom; _png:aero/ie6/aui_e.png; }
|
||||||
|
.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_se { width:3px; height:3px; }
|
||||||
|
.aui_state_noTitle .aui_inner { border:1px solid #666; background:#FFF; }
|
||||||
|
.aui_state_noTitle .aui_outer { box-shadow:none; }
|
||||||
|
.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_n, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_w, .aui_state_noTitle .aui_e, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_s, .aui_state_noTitle .aui_se { background:rgba(0, 0, 0, .05); background:#000\9!important; filter:alpha(opacity=5)!important; }
|
||||||
|
.aui_state_noTitle .aui_titleBar { bottom:0; _bottom:0; _margin-top:0; }
|
||||||
|
.aui_state_noTitle .aui_close { top:0; right:0; width:18px; height:18px; line-height:18px; text-align:center; text-indent:0; font-family: Helvetica, STHeiti; _font-family: '\u9ed1\u4f53', 'Book Antiqua', Palatino; font-size:18px; text-decoration:none; color:#214FA3; background:none; filter:!important; }
|
||||||
|
.aui_state_noTitle .aui_close:hover, .aui_state_noTitle .aui_close:active { text-decoration:none; color:#900; }
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
@charset "utf-8";
|
||||||
|
/*
|
||||||
|
* artDialog skin
|
||||||
|
* http://code.google.com/p/artdialog/
|
||||||
|
* (c) 2009-2011 TangBin, http://www.planeArt.cn
|
||||||
|
*
|
||||||
|
* This is licensed under the GNU LGPL, version 2.1 or later.
|
||||||
|
* For details, see: http://creativecommons.org/licenses/LGPL/2.1/
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* common start */
|
||||||
|
body { _margin:0; _height:100%; /*IE6 BUG*/ }
|
||||||
|
.aui_outer { text-align:left; }
|
||||||
|
table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; }
|
||||||
|
.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; }
|
||||||
|
.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; }
|
||||||
|
.aui_title { overflow:hidden; text-overflow: ellipsis; }
|
||||||
|
.aui_state_noTitle .aui_title { display:none; }
|
||||||
|
.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; }
|
||||||
|
.aui_close:hover { text-decoration:none; }
|
||||||
|
.aui_main { text-align:center; min-width:9em; min-width:0 \9/*IE8 BUG*/; }
|
||||||
|
.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; }
|
||||||
|
.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; }
|
||||||
|
.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; }
|
||||||
|
.aui_icon { vertical-align: middle; }
|
||||||
|
.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; }
|
||||||
|
.aui_buttons { padding:8px; text-align:right; white-space:nowrap; }
|
||||||
|
.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; }
|
||||||
|
.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; }
|
||||||
|
.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); }
|
||||||
|
.aui_buttons button:hover { color:#000; border-color:#666; }
|
||||||
|
.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); }
|
||||||
|
.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; }
|
||||||
|
button.aui_state_highlight { color: #FFF; border: solid 1px #3399dd; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; }
|
||||||
|
button.aui_state_highlight:hover { color:#FFF; border-color:#1c6a9e; }
|
||||||
|
button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); }
|
||||||
|
/* common end */
|
||||||
|
|
||||||
|
.aui_inner { background:#f7f7f7; }
|
||||||
|
.aui_titleBar { width:100%; height:0; position:relative; bottom:30px; _bottom:0; _margin-top:-30px; }
|
||||||
|
.aui_title { height:29px; line-height:29px; padding:0 25px 0 0; _padding:0; text-indent:5px; color:#FFF; font-weight:700; text-shadow:-1px -1px 0 rgba(0, 0, 0, .7); }
|
||||||
|
.aui_nw, .aui_ne, .aui_sw, .aui_se, .aui_n, .aui_s, .aui_close { background-image:url(black/bg.png); background-repeat:no-repeat; }
|
||||||
|
.aui_nw { width:15px; height:38px; background-position: 0 0; _png:black/ie6/nw.png; }
|
||||||
|
.aui_ne { width:15px; height:38px; background-position: -15px 0; _png:black/ie6/ne.png; }
|
||||||
|
.aui_sw { width:15px; height:18px; background-position: 0 -38px; _png:black/ie6/sw.png; }
|
||||||
|
.aui_se { width:15px; height:18px; background-position: -15px -38px; _png:black/ie6/se.png; }
|
||||||
|
.aui_close { top:4px; right:4px; _z-index:1; width:20px; height:20px; _font-size:0; _line-height:0; text-indent:-9999em; background-position:0 -112px; _png:black/ie6/close.png; }
|
||||||
|
.aui_close:hover { background-position:0 -132px; }
|
||||||
|
.aui_n, .aui_s { background-repeat:repeat-x; }
|
||||||
|
.aui_n { background-position: 0 -56px; _png:black/ie6/n.png; }
|
||||||
|
.aui_s { background-position: 0 -94px; _png:black/ie6/s.png; }
|
||||||
|
.aui_w, .aui_e { background-image:url(black/bg2.png); background-repeat:repeat-y; }
|
||||||
|
.aui_w { background-position:left top; _png:black/ie6/w.png; }
|
||||||
|
.aui_e { background-position: right bottom; _png:black/ie6/e.png; }
|
||||||
|
aui_icon, .aui_main { padding-top:3px; }
|
||||||
|
@media screen and (min-width:0) {
|
||||||
|
.aui_outer { border-radius:8px; box-shadow:0 5px 15px rgba(0, 0, 0, .4); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: -webkit-box-shadow linear .2s; }
|
||||||
|
.aui_state_drag .aui_outer { box-shadow:none; }
|
||||||
|
.aui_state_lock .aui_outer { box-shadow:0 3px 26px rgba(0, 0, 0, .9); }
|
||||||
|
.aui_outer:active { box-shadow:0 0 5px rgba(0, 0, 0, .1)!important; }
|
||||||
|
.aui_state_drag .aui_outer { box-shadow:none!important; }
|
||||||
|
.aui_nw, .aui_ne, .aui_sw, .aui_se, .aui_n, .aui_s, .aui_close { background-image:url(black/bg_css3.png); }
|
||||||
|
.aui_nw { width:5px; height:31px; }
|
||||||
|
.aui_ne { width:5px; height:31px; background-position: -5px 0; _png:black/ie6/ne.png; }
|
||||||
|
.aui_sw { width:5px; height:5px;background-position: 0 -31px; }
|
||||||
|
.aui_se { width:5px; height:5px; background-position: -5px -31px; }
|
||||||
|
.aui_close { background-position:0 -72px; }
|
||||||
|
.aui_close:hover { background-position:0 -92px; }
|
||||||
|
.aui_n { background-position: 0 -36px; }
|
||||||
|
.aui_s { background-position: 0 -67px; }
|
||||||
|
.aui_w, .aui_e { background-image:url(black/bg_css3_2.png); }
|
||||||
|
}
|
||||||
|
.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_se { width:3px; height:3px; }
|
||||||
|
.aui_state_noTitle .aui_inner { border:1px solid #666; background:#FFF; }
|
||||||
|
.aui_state_noTitle .aui_outer { box-shadow:none; }
|
||||||
|
.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_n, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_w, .aui_state_noTitle .aui_e, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_s, .aui_state_noTitle .aui_se { background:rgba(0, 0, 0, .05); background:#000\9!important; filter:alpha(opacity=5)!important; }
|
||||||
|
.aui_state_noTitle .aui_titleBar { bottom:0; _bottom:0; _margin-top:0; }
|
||||||
|
.aui_state_noTitle .aui_close { top:0; right:0; width:18px; height:18px; line-height:18px; text-align:center; text-indent:0; font-family: Helvetica, STHeiti; _font-family: '\u9ed1\u4f53', 'Book Antiqua', Palatino; font-size:18px; text-decoration:none; color:#214FA3; background:none; filter:!important; }
|
||||||
|
.aui_state_noTitle .aui_close:hover, .aui_state_noTitle .aui_close:active { text-decoration:none; color:#900; }
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
@charset "utf-8";
|
||||||
|
/*
|
||||||
|
* artDialog skin
|
||||||
|
* http://code.google.com/p/artdialog/
|
||||||
|
* (c) 2009-2011 TangBin, http://www.planeArt.cn
|
||||||
|
*
|
||||||
|
* This is licensed under the GNU LGPL, version 2.1 or later.
|
||||||
|
* For details, see: http://creativecommons.org/licenses/LGPL/2.1/
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* common start */
|
||||||
|
body { _margin:0; _height:100%; /*IE6 BUG*/ }
|
||||||
|
.aui_outer { text-align:left; }
|
||||||
|
table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; }
|
||||||
|
.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; }
|
||||||
|
.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; }
|
||||||
|
.aui_title { overflow:hidden; text-overflow: ellipsis; }
|
||||||
|
.aui_state_noTitle .aui_title { display:none; }
|
||||||
|
.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; }
|
||||||
|
.aui_close:hover { text-decoration:none; }
|
||||||
|
.aui_main { text-align:center; min-width:9em; min-width:0 \9/*IE8 BUG*/; }
|
||||||
|
.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; }
|
||||||
|
.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; }
|
||||||
|
.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; }
|
||||||
|
.aui_icon { vertical-align: middle; }
|
||||||
|
.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; }
|
||||||
|
.aui_buttons { padding:8px; text-align:right; white-space:nowrap; }
|
||||||
|
.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; }
|
||||||
|
.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; }
|
||||||
|
.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); }
|
||||||
|
.aui_buttons button:hover { color:#000; border-color:#666; }
|
||||||
|
.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); }
|
||||||
|
.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; }
|
||||||
|
button.aui_state_highlight { color: #FFF; border: solid 1px #3399dd; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; }
|
||||||
|
button.aui_state_highlight:hover { color:#FFF; border-color:#1c6a9e; }
|
||||||
|
button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); }
|
||||||
|
/* common end */
|
||||||
|
|
||||||
|
.aui_inner { background:#f7f7f7; }
|
||||||
|
.aui_titleBar { width:100%; height:0; position:relative; bottom:30px; _bottom:0; _margin-top:-30px; }
|
||||||
|
.aui_title { height:29px; line-height:29px; padding:0 25px 0 0; _padding:0; text-indent:5px; color:#FFF; font-weight:700; text-shadow:-1px -1px 0 rgba(33, 79, 183, .7); }
|
||||||
|
.aui_nw, .aui_ne, .aui_sw, .aui_se, .aui_n, .aui_s, .aui_close { background-image:url(blue/bg.png); background-repeat:no-repeat; }
|
||||||
|
.aui_nw { width:15px; height:38px; background-position: 0 0; _png:blue/ie6/nw.png; }
|
||||||
|
.aui_ne { width:15px; height:38px; background-position: -15px 0; _png:blue/ie6/ne.png; }
|
||||||
|
.aui_sw { width:15px; height:18px; background-position: 0 -38px; _png:blue/ie6/sw.png; }
|
||||||
|
.aui_se { width:15px; height:18px; background-position: -15px -38px; _png:blue/ie6/se.png; }
|
||||||
|
.aui_close { top:4px; right:4px; _z-index:1; width:20px; height:20px; _font-size:0; _line-height:0; text-indent:-9999em; background-position:0 -112px; _png:blue/ie6/close.png; }
|
||||||
|
.aui_close:hover { background-position:0 -132px; }
|
||||||
|
.aui_n, .aui_s { background-repeat:repeat-x; }
|
||||||
|
.aui_n { background-position: 0 -56px; _png:blue/ie6/n.png; }
|
||||||
|
.aui_s { background-position: 0 -94px; _png:blue/ie6/s.png; }
|
||||||
|
.aui_w, .aui_e { background-image:url(blue/bg2.png); background-repeat:repeat-y; }
|
||||||
|
.aui_w { background-position:left top; _png:blue/ie6/w.png; }
|
||||||
|
.aui_e { background-position: right bottom; _png:blue/ie6/e.png; }
|
||||||
|
aui_icon, .aui_main { padding-top:3px; }
|
||||||
|
@media screen and (min-width:0) {
|
||||||
|
.aui_outer { border-radius:8px; box-shadow:0 5px 15px rgba(2, 37, 69, .4); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: -webkit-box-shadow linear .2s; }
|
||||||
|
.aui_state_drag .aui_outer { box-shadow:none; }
|
||||||
|
.aui_state_lock .aui_outer { box-shadow:0 3px 26px rgba(0, 0, 0, .9); }
|
||||||
|
.aui_outer:active { box-shadow:0 0 5px rgba(2, 37, 69, .1)!important; }
|
||||||
|
.aui_state_drag .aui_outer { box-shadow:none!important; }
|
||||||
|
.aui_nw, .aui_ne, .aui_sw, .aui_se, .aui_n, .aui_s, .aui_close { background-image:url(blue/bg_css3.png); }
|
||||||
|
.aui_nw { width:5px; height:31px; }
|
||||||
|
.aui_ne { width:5px; height:31px; background-position: -5px 0; _png:blue/ie6/ne.png; }
|
||||||
|
.aui_sw { width:5px; height:5px;background-position: 0 -31px; }
|
||||||
|
.aui_se { width:5px; height:5px; background-position: -5px -31px; }
|
||||||
|
.aui_close { background-position:0 -72px; }
|
||||||
|
.aui_close:hover { background-position:0 -92px; }
|
||||||
|
.aui_n { background-position: 0 -36px; }
|
||||||
|
.aui_s { background-position: 0 -67px; }
|
||||||
|
.aui_w, .aui_e { background-image:url(blue/bg_css3_2.png); }
|
||||||
|
}
|
||||||
|
.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_se { width:3px; height:3px; }
|
||||||
|
.aui_state_noTitle .aui_inner { border:1px solid #666; background:#FFF; }
|
||||||
|
.aui_state_noTitle .aui_outer { box-shadow:none; }
|
||||||
|
.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_n, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_w, .aui_state_noTitle .aui_e, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_s, .aui_state_noTitle .aui_se { background:rgba(0, 0, 0, .05); background:#000\9!important; filter:alpha(opacity=5)!important; }
|
||||||
|
.aui_state_noTitle .aui_titleBar { bottom:0; _bottom:0; _margin-top:0; }
|
||||||
|
.aui_state_noTitle .aui_close { top:0; right:0; width:18px; height:18px; line-height:18px; text-align:center; text-indent:0; font-family: Helvetica, STHeiti; _font-family: '\u9ed1\u4f53', 'Book Antiqua', Palatino; font-size:18px; text-decoration:none; color:#214FA3; background:none; filter:!important; }
|
||||||
|
.aui_state_noTitle .aui_close:hover, .aui_state_noTitle .aui_close:active { text-decoration:none; color:#900; }
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
@charset "utf-8";
|
||||||
|
/*
|
||||||
|
* artDialog skin
|
||||||
|
* http://code.google.com/p/artdialog/
|
||||||
|
* (c) 2009-2011 TangBin, http://www.planeArt.cn
|
||||||
|
*
|
||||||
|
* This is licensed under the GNU LGPL, version 2.1 or later.
|
||||||
|
* For details, see: http://creativecommons.org/licenses/LGPL/2.1/
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* common start */
|
||||||
|
body { _margin:0; _height:100%; /*IE6 BUG*/ }
|
||||||
|
.aui_outer { text-align:left; }
|
||||||
|
table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; }
|
||||||
|
.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; }
|
||||||
|
.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; }
|
||||||
|
.aui_title { overflow:hidden; text-overflow: ellipsis; }
|
||||||
|
.aui_state_noTitle .aui_title { display:none; }
|
||||||
|
.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; }
|
||||||
|
.aui_close:hover { text-decoration:none; }
|
||||||
|
.aui_main { text-align:center; min-width:9em; min-width:0\9/*IE8 BUG*/; }
|
||||||
|
.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; }
|
||||||
|
.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; }
|
||||||
|
.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; }
|
||||||
|
.aui_icon { vertical-align: middle; }
|
||||||
|
.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; }
|
||||||
|
.aui_buttons { padding:8px; text-align:right; white-space:nowrap; }
|
||||||
|
.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; }
|
||||||
|
.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; }
|
||||||
|
.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); }
|
||||||
|
.aui_buttons button:hover { color:#000; border-color:#666; }
|
||||||
|
.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); }
|
||||||
|
.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; }
|
||||||
|
button.aui_state_highlight { color: #FFF; border: solid 1px #1c6a9e; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; }
|
||||||
|
button.aui_state_highlight:hover { color:#FFF; border-color:#0F3A56; }
|
||||||
|
button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); }
|
||||||
|
/* common end */
|
||||||
|
|
||||||
|
.aui_inner { background:#FFF; }
|
||||||
|
.aui_titleBar { width:100%; height:0; position:relative; bottom:26px; _bottom:0; _margin-top:-26px;}
|
||||||
|
.aui_title { height:26px; line-height:23px; padding:0 60px 0 5px; color:#FFF; font-weight:700; text-shadow:0 1px 0 #000; }
|
||||||
|
.aui_nw, .aui_ne, .aui_w, .aui_e, .aui_sw, .aui_se, .aui_close { background-image:url(chrome/chrome_s.png); background-repeat:no-repeat; }
|
||||||
|
.aui_nw { width:5px; height:26px; background-position: -46px -8px; }
|
||||||
|
.aui_ne { width:5px; height:26px; background-position: -53px -8px; }
|
||||||
|
.aui_w { background-position:-60px 0; background-repeat:repeat-y; }
|
||||||
|
.aui_e { background-position:-65px 0; background-repeat:repeat-y; }
|
||||||
|
.aui_sw { width:5px; height:5px; background-position: -46px -2px;}
|
||||||
|
.aui_se { width:5px; height:5px; background-position: -53px -2px;}
|
||||||
|
.aui_close { top:1px; right:0; width:44px; height:17px; background-position:0 0; _font-size:0; _line-height:0; text-indent:-9999em; }
|
||||||
|
.aui_close:hover { background-position:0 -18px; }
|
||||||
|
.aui_n, .aui_s { background-image:url(chrome/border.png); background-repeat:repeat-x; }
|
||||||
|
.aui_n { background-position:0 top; }
|
||||||
|
.aui_s { background-position: 0 bottom; }
|
||||||
|
.aui_buttons { background-color:#F6F6F6; border-top:solid 1px #DADEE5; }
|
||||||
|
.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_se { width:3px; height:3px; }
|
||||||
|
.aui_state_noTitle .aui_inner { border:1px solid #666; background:#FFF; }
|
||||||
|
.aui_state_noTitle .aui_outer { box-shadow:none; }
|
||||||
|
.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_n, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_w, .aui_state_noTitle .aui_e, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_s, .aui_state_noTitle .aui_se { background:rgba(0, 0, 0, .05); background:#000\9!important; filter:alpha(opacity=5)!important; }
|
||||||
|
.aui_state_noTitle .aui_titleBar { bottom:0; _bottom:0; _margin-top:0; }
|
||||||
|
.aui_state_noTitle .aui_close { top:0; right:0; width:18px; height:18px; line-height:18px; text-align:center; text-indent:0; font-family: Helvetica, STHeiti; _font-family: '\u9ed1\u4f53', 'Book Antiqua', Palatino; font-size:18px; text-decoration:none; color:#214FA3; background:none; filter:!important; }
|
||||||
|
.aui_state_noTitle .aui_close:hover, .aui_state_noTitle .aui_close:active { text-decoration:none; color:#900; }
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
@charset "utf-8";
|
||||||
|
/*
|
||||||
|
* artDialog skin
|
||||||
|
* http://code.google.com/p/artdialog/
|
||||||
|
* (c) 2009-2011 TangBin, http://www.planeArt.cn
|
||||||
|
*
|
||||||
|
* This is licensed under the GNU LGPL, version 2.1 or later.
|
||||||
|
* For details, see: http://creativecommons.org/licenses/LGPL/2.1/
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* common start */
|
||||||
|
body { _margin:0; _height:100%; /*IE6 BUG*/ }
|
||||||
|
.aui_outer { text-align:left; }
|
||||||
|
table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; }
|
||||||
|
.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; }
|
||||||
|
.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; }
|
||||||
|
.aui_title { overflow:hidden; text-overflow: ellipsis; }
|
||||||
|
.aui_state_noTitle .aui_title { display:none; }
|
||||||
|
.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; }
|
||||||
|
.aui_close:hover { text-decoration:none; }
|
||||||
|
.aui_main { text-align:center; min-width:9em; min-width:0\9/*IE8 BUG*/; }
|
||||||
|
.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; }
|
||||||
|
.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; }
|
||||||
|
.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; }
|
||||||
|
.aui_icon { vertical-align: middle; }
|
||||||
|
.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; }
|
||||||
|
.aui_buttons { padding:8px; text-align:right; white-space:nowrap; }
|
||||||
|
.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; }
|
||||||
|
.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; }
|
||||||
|
.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); }
|
||||||
|
.aui_buttons button:hover { color:#000; border-color:#666; }
|
||||||
|
.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); }
|
||||||
|
.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; }
|
||||||
|
button.aui_state_highlight { color: #FFF; border: solid 1px #1c6a9e; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; }
|
||||||
|
button.aui_state_highlight:hover { color:#FFF; border-color:#0F3A56; }
|
||||||
|
button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); }
|
||||||
|
/* common end */
|
||||||
|
|
||||||
|
.aui_inner { background:#FFF; }
|
||||||
|
.aui_outer, .aui_inner { border:1px solid rgba(0, 0, 0, .7); border:1px solid #333\9; }
|
||||||
|
.aui_border { box-shadow: inset 0 0 1px rgba(255, 255, 255, .9); }
|
||||||
|
.aui_nw, .aui_ne, .aui_sw, .aui_se { width:8px; height:8px; }
|
||||||
|
.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_e, .aui_sw, .aui_s, .aui_se { background:rgba(0, 0, 0, .4); background:#000\9!important; filter:alpha(opacity=40); }
|
||||||
|
.aui_state_lock .aui_nw, .aui_state_lock .aui_n, .aui_state_lock .aui_ne, .aui_state_lock .aui_w, .aui_state_lock .aui_e, .aui_state_lock .aui_sw, .aui_state_lock .aui_s, .aui_state_lock .aui_se { background:rgba(0, 0, 0, .5); background:#000\9!important; filter:alpha(opacity=50); }
|
||||||
|
.aui_state_focus .aui_dialog { box-shadow: 0 0 3px rgba(0, 0, 0, 0.4); }
|
||||||
|
.aui_state_focus .aui_outer { box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1); }
|
||||||
|
.aui_state_lock .aui_border { box-shadow:0 3px 26px rgba(0, 0, 0, .9); }
|
||||||
|
.aui_state_drag .aui_outer, .aui_outer:active { box-shadow:none; }
|
||||||
|
.aui_titleBar { position:relative; height:100%; }
|
||||||
|
.aui_title { height:28px; line-height:27px; padding:0 28px 0 10px; text-shadow:0 1px 0 rgba(255, 255, 255, .7); background-color:#edf5f8; font-weight:bold; color:#95a7ae; font-family: Tahoma, Arial/9!important; background-color:#bdc6cd; background: linear-gradient(top, #edf5f8, #bdc6cd); background: -moz-linear-gradient(top, #edf5f8, #bdc6cd); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#edf5f8), to(#bdc6cd)); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#edf5f8', endColorstr='#bdc6cd'); border-top:1px solid #edf5f8; border-bottom:1px solid #b6bec5; }
|
||||||
|
.aui_state_focus .aui_title { color:#4c5a5f; }
|
||||||
|
.aui_state_drag .aui_title { background: linear-gradient(top, #bdc6cd, #edf5f8); background: -moz-linear-gradient(top, #bdc6cd, #edf5f8); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bdc6cd), to(#edf5f8)); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#bdc6cd', endColorstr='#edf5f8'); box-shadow:none; }
|
||||||
|
.aui_state_drag .aui_titleBar { box-shadow:none; }
|
||||||
|
.aui_close { padding:0; top:4px; right:4px; width:21px; height:21px; line-height:21px; font-size:18px; color:#68767b; text-align:center; font-family: Helvetica, STHeiti; _font-family: Tahoma, '\u9ed1\u4f53', 'Book Antiqua', Palatino; text-shadow:0 1px 0 rgba(255, 255, 255, .9); }
|
||||||
|
.aui_close:hover { background:#C72015; color:#FFF; }
|
||||||
|
.aui_close:active { box-shadow: none; }
|
||||||
|
.aui_content { color:#666; }
|
||||||
|
.aui_state_focus .aui_content { color:#000; }
|
||||||
|
.aui_buttons { background-color:#F6F6F6; border-top:solid 1px #DADEE5; }
|
||||||
|
.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_se { width:3px; height:3px; }
|
||||||
|
.aui_state_noTitle .aui_inner { border:1px solid #666; background:#FFF; }
|
||||||
|
.aui_state_noTitle .aui_outer { border:none 0; box-shadow:none; }
|
||||||
|
.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_n, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_w, .aui_state_noTitle .aui_e, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_s, .aui_state_noTitle .aui_se { background:rgba(0, 0, 0, .05); background:#000\9!important; filter:alpha(opacity=5)!important; }
|
||||||
|
.aui_state_noTitle .aui_titleBar { bottom:0; _bottom:0; _margin-top:0; }
|
||||||
|
.aui_state_noTitle .aui_close { top:0; right:0; width:18px; height:18px; line-height:18px; text-align:center; text-indent:0; font-size:18px; text-decoration:none; color:#214FA3; background:none; filter:!important; }
|
||||||
|
.aui_state_noTitle .aui_close:hover, .aui_state_noTitle .aui_close:active { text-decoration:none; color:#900; }
|
||||||
|
.aui_state_noTitle .aui_dialog { box-shadow: none; }
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
@charset "utf-8";
|
||||||
|
/*
|
||||||
|
* artDialog skin
|
||||||
|
* http://code.google.com/p/artdialog/
|
||||||
|
* (c) 2009-2011 TangBin, http://www.planeArt.cn
|
||||||
|
*
|
||||||
|
* This is licensed under the GNU LGPL, version 2.1 or later.
|
||||||
|
* For details, see: http://creativecommons.org/licenses/LGPL/2.1/
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* common start */
|
||||||
|
body { _margin:0; _height:100%; /*IE6 BUG*/ }
|
||||||
|
.aui_outer { text-align:left; }
|
||||||
|
table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; }
|
||||||
|
.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; }
|
||||||
|
.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; }
|
||||||
|
.aui_title { overflow:hidden; text-overflow: ellipsis; }
|
||||||
|
.aui_state_noTitle .aui_title { display:none; }
|
||||||
|
.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; }
|
||||||
|
.aui_close:hover { text-decoration:none; }
|
||||||
|
.aui_main { text-align:center; min-width:9em; min-width:0 \9/*IE8 BUG*/; }
|
||||||
|
.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; }
|
||||||
|
.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; }
|
||||||
|
.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; }
|
||||||
|
.aui_icon { vertical-align: middle; }
|
||||||
|
.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; }
|
||||||
|
.aui_buttons { padding:8px; text-align:right; white-space:nowrap; }
|
||||||
|
.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; }
|
||||||
|
.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; }
|
||||||
|
.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(0, 50, 0, .7); }
|
||||||
|
.aui_buttons button:hover { color:#000; border-color:#666; }
|
||||||
|
.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(0, 50, 0, .7), inset 0 1px 1em rgba(0, 0, 0, .3); }
|
||||||
|
.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; }
|
||||||
|
button.aui_state_highlight { color: #FFF; border: solid 1px #679a10; background: #7cb61b; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#98d237', endColorstr='#7cb61b'); background: linear-gradient(top, #98d237, #7cb61b); background: -moz-linear-gradient(top, #98d237, #7cb61b); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#98d237), to(#7cb61b)); text-shadow: -1px -1px 1px #679a10; }
|
||||||
|
button.aui_state_highlight:focus { border-color:#679a10; }
|
||||||
|
button.aui_state_highlight:hover { color:#FFF; border-color:#3c5412; }
|
||||||
|
button.aui_state_highlight:active { border-color:#3c5412; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#98d237', endColorstr='#7cb61b'); background: linear-gradient(top, #98d237, #7cb61b); background: -moz-linear-gradient(top, #98d237, #7cb61b); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#98d237), to(#7cb61b)); }
|
||||||
|
/* common end */
|
||||||
|
|
||||||
|
.aui_inner { background:#f7f7f7; }
|
||||||
|
.aui_titleBar { width:100%; height:0; position:relative; bottom:30px; _bottom:0; _margin-top:-30px; }
|
||||||
|
.aui_title { height:29px; line-height:29px; padding:0 25px 0 0; _padding:0; text-indent:5px; color:#FFF; font-weight:700; text-shadow:-1px -1px 0 rgba(0, 50, 0, .7); }
|
||||||
|
.aui_nw, .aui_ne, .aui_sw, .aui_se, .aui_n, .aui_s, .aui_close { background-image:url(green/bg.png); background-repeat:no-repeat; }
|
||||||
|
.aui_nw { width:15px; height:38px; background-position: 0 0; _png:green/ie6/nw.png; }
|
||||||
|
.aui_ne { width:15px; height:38px; background-position: -15px 0; _png:green/ie6/ne.png; }
|
||||||
|
.aui_sw { width:15px; height:18px; background-position: 0 -38px; _png:green/ie6/sw.png; }
|
||||||
|
.aui_se { width:15px; height:18px; background-position: -15px -38px; _png:green/ie6/se.png; }
|
||||||
|
.aui_close { top:4px; right:4px; _z-index:1; width:20px; height:20px; _font-size:0; _line-height:0; text-indent:-9999em; background-position:0 -112px; _png:green/ie6/close.png; }
|
||||||
|
.aui_close:hover { background-position:0 -132px; }
|
||||||
|
.aui_n, .aui_s { background-repeat:repeat-x; }
|
||||||
|
.aui_n { background-position: 0 -56px; _png:green/ie6/n.png; }
|
||||||
|
.aui_s { background-position: 0 -94px; _png:green/ie6/s.png; }
|
||||||
|
.aui_w, .aui_e { background-image:url(green/bg2.png); background-repeat:repeat-y; }
|
||||||
|
.aui_w { background-position:left top; _png:green/ie6/w.png; }
|
||||||
|
.aui_e { background-position: right bottom; _png:green/ie6/e.png; }
|
||||||
|
aui_icon, .aui_main { padding-top:3px; }
|
||||||
|
@media screen and (min-width:0) {
|
||||||
|
.aui_outer { border-radius:8px; box-shadow:0 5px 15px rgba(0, 50, 0, .4); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: -webkit-box-shadow linear .2s; }
|
||||||
|
.aui_state_lock .aui_outer { box-shadow:0 3px 26px rgba(0, 0, 0, .9); }
|
||||||
|
.aui_outer:active { box-shadow:0 0 5px rgba(0, 50, 0, .1)!important; }
|
||||||
|
.aui_state_drag .aui_outer { box-shadow:none!important; }
|
||||||
|
.aui_nw, .aui_ne, .aui_sw, .aui_se, .aui_n, .aui_s, .aui_close { background-image:url(green/bg_css3.png); }
|
||||||
|
.aui_nw { width:5px; height:31px; }
|
||||||
|
.aui_ne { width:5px; height:31px; background-position: -5px 0; _png:green/ie6/ne.png; }
|
||||||
|
.aui_sw { width:5px; height:5px;background-position: 0 -31px; }
|
||||||
|
.aui_se { width:5px; height:5px; background-position: -5px -31px; }
|
||||||
|
.aui_close { background-position:0 -72px; }
|
||||||
|
.aui_close:hover { background-position:0 -92px; }
|
||||||
|
.aui_n { background-position: 0 -36px; }
|
||||||
|
.aui_s { background-position: 0 -67px; }
|
||||||
|
.aui_w, .aui_e { background-image:url(green/bg_css3_2.png); }
|
||||||
|
}
|
||||||
|
.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_se { width:3px; height:3px; }
|
||||||
|
.aui_state_noTitle .aui_inner { border:1px solid #666; background:#FFF; }
|
||||||
|
.aui_state_noTitle .aui_outer { box-shadow:none; }
|
||||||
|
.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_n, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_w, .aui_state_noTitle .aui_e, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_s, .aui_state_noTitle .aui_se { background:rgba(0, 0, 0, .05); background:#000\9!important; filter:alpha(opacity=5)!important; }
|
||||||
|
.aui_state_noTitle .aui_titleBar { bottom:0; _bottom:0; _margin-top:0; }
|
||||||
|
.aui_state_noTitle .aui_close { top:0; right:0; width:18px; height:18px; line-height:18px; text-align:center; text-indent:0; font-family: Helvetica, STHeiti; _font-family: '\u9ed1\u4f53', 'Book Antiqua', Palatino; font-size:18px; text-decoration:none; color:#214FA3; background:none; filter:!important; }
|
||||||
|
.aui_state_noTitle .aui_close:hover, .aui_state_noTitle .aui_close:active { text-decoration:none; color:#900; }
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
@charset "utf-8";
|
||||||
|
/*
|
||||||
|
* artDialog skin
|
||||||
|
* http://code.google.com/p/artdialog/
|
||||||
|
* (c) 2009-2011 TangBin, http://www.planeArt.cn
|
||||||
|
*
|
||||||
|
* This is licensed under the GNU LGPL, version 2.1 or later.
|
||||||
|
* For details, see: http://creativecommons.org/licenses/LGPL/2.1/
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* common start */
|
||||||
|
body { _margin:0; _height:100%; /*IE6 BUG*/ }
|
||||||
|
.aui_outer { text-align:left; }
|
||||||
|
table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; }
|
||||||
|
.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; }
|
||||||
|
.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; }
|
||||||
|
.aui_title { overflow:hidden; text-overflow: ellipsis; }
|
||||||
|
.aui_state_noTitle .aui_title { display:none; }
|
||||||
|
.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; }
|
||||||
|
.aui_close:hover { text-decoration:none; }
|
||||||
|
.aui_main { text-align:center; min-width:9em; min-width:0\9/*IE8 BUG*/; }
|
||||||
|
.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; }
|
||||||
|
.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; }
|
||||||
|
.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; }
|
||||||
|
.aui_icon { vertical-align: middle; }
|
||||||
|
.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; }
|
||||||
|
.aui_buttons { padding:8px; text-align:right; white-space:nowrap; }
|
||||||
|
.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; }
|
||||||
|
.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; }
|
||||||
|
.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); }
|
||||||
|
.aui_buttons button:hover { color:#000; border-color:#666; }
|
||||||
|
.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); }
|
||||||
|
.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; }
|
||||||
|
button.aui_state_highlight { color: #FFF; border: solid 1px #1c6a9e; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; }
|
||||||
|
button.aui_state_highlight:hover { color:#FFF; border-color:#0F3A56; }
|
||||||
|
button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); }
|
||||||
|
/* common end */
|
||||||
|
|
||||||
|
.aui_inner { background:#FFF; }
|
||||||
|
.aui_titleBar { width:100%; }
|
||||||
|
.aui_title { position:absolute; left:0; top:0; width:100%; height:22px; text-align:left; text-indent:-999em; font-size:0; }
|
||||||
|
.aui_nw, .aui_ne, .aui_sw, .aui_se, .aui_n, .aui_s, .aui_close { background-image:url(idialog/idialog_s.png); background-repeat:no-repeat; }
|
||||||
|
.aui_nw { width:15px; height:15px; background-position: 0 0; _png:idialog/ie6/aui_nw.png; }
|
||||||
|
.aui_ne { width:15px; height:15px; background-position: -15px 0; _png:idialog/ie6/aui_ne.png; }
|
||||||
|
.aui_sw { width:15px; height:15px; background-position: 0 -15px; _png:idialog/ie6/aui_sw.png; }
|
||||||
|
.aui_se { width:15px; height:15px; background-position: -15px -15px; _png:idialog/ie6/aui_se.png; }
|
||||||
|
.aui_close { position:absolute; right:-8px; top:-8px; _z-index:1; width:34px; height:34px; _font-size:0; _line-height:0; text-indent:-9999em; background-position:0 -60px; _png:idialog/ie6/aui_close.png; }
|
||||||
|
.aui_close:hover { background-position:0 -94px; _png:idialog/ie6/aui_close.hover.png; }
|
||||||
|
.aui_n, .aui_s { background-repeat:repeat-x; }
|
||||||
|
.aui_n { background-position: 0 -30px; _png:idialog/ie6/aui_n.png; }
|
||||||
|
.aui_s { background-position: 0 -45px; _png:idialog/ie6/aui_s.png; }
|
||||||
|
.aui_w, .aui_e { background-image:url(idialog/idialog_s2.png); background-repeat:repeat-y; }
|
||||||
|
.aui_w { background-position:left top; _png:idialog/ie6/aui_w.png; }
|
||||||
|
.aui_e { background-position: right bottom; _png:idialog/ie6/aui_e.png; }
|
||||||
|
@media screen and (min-width:0) {/* css3 */
|
||||||
|
.aui_nw, .aui_ne, .aui_sw, .aui_se{ width:5px; height:5px; }
|
||||||
|
.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_e, .aui_sw, .aui_s, .aui_se { background:none; }
|
||||||
|
.aui_sw, .aui_s, .aui_se { background:url(idialog/idialog_s.png) repeat-x 0 -45px; }
|
||||||
|
.aui_sw { border-radius:0 0 0 5px; }
|
||||||
|
.aui_se { border-radius:0 0 5px 0; }
|
||||||
|
.aui_outer { border:1px solid #929292; border-radius:5px; box-shadow:0 3px 8px rgba(0, 0, 0, .2); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: -webkit-box-shadow linear .2s; }
|
||||||
|
.aui_border { border-radius:5px; background:#FFF; }
|
||||||
|
.aui_state_drag .aui_outer { box-shadow:none; }
|
||||||
|
.aui_state_lock .aui_outer { box-shadow:0 3px 26px rgba(0, 0, 0, .9); }
|
||||||
|
.aui_outer:active { box-shadow:0 0 5px rgba(0, 0, 0, .1)!important; }
|
||||||
|
.aui_state_drag .aui_outer { box-shadow:none!important; }
|
||||||
|
.aui_close { right:-16px; top:-16px; }
|
||||||
|
}
|
||||||
|
@media screen and (-webkit-min-device-pixel-ratio:0) {/* apple | webkit */
|
||||||
|
.aui_close { right:auto; left:-16px; top:-16px; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
@charset "utf-8";
|
||||||
|
/*
|
||||||
|
* artDialog skin
|
||||||
|
* http://code.google.com/p/artdialog/
|
||||||
|
* (c) 2009-2011 TangBin, http://www.planeArt.cn
|
||||||
|
*
|
||||||
|
* This is licensed under the GNU LGPL, version 2.1 or later.
|
||||||
|
* For details, see: http://creativecommons.org/licenses/LGPL/2.1/
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* common start */
|
||||||
|
body { _margin:0; _height:100%; /*IE6 BUG*/ }
|
||||||
|
.aui_outer { text-align:left; }
|
||||||
|
table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; }
|
||||||
|
.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; }
|
||||||
|
.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; }
|
||||||
|
.aui_title { overflow:hidden; text-overflow: ellipsis; }
|
||||||
|
.aui_state_noTitle .aui_title { display:none; }
|
||||||
|
.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; }
|
||||||
|
.aui_close:hover { text-decoration:none; }
|
||||||
|
.aui_main { text-align:center; min-width:9em; min-width:0\9/*IE8 BUG*/; }
|
||||||
|
.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; }
|
||||||
|
.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; }
|
||||||
|
.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; }
|
||||||
|
.aui_icon { vertical-align: middle; }
|
||||||
|
.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; }
|
||||||
|
.aui_buttons { padding:8px; text-align:right; white-space:nowrap; }
|
||||||
|
.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; }
|
||||||
|
.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; }
|
||||||
|
.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); }
|
||||||
|
.aui_buttons button:hover { color:#000; border-color:#666; }
|
||||||
|
.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); }
|
||||||
|
.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; }
|
||||||
|
button.aui_state_highlight { color: #FFF; border: solid 1px #1c6a9e; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; }
|
||||||
|
button.aui_state_highlight:hover { color:#FFF; border-color:#0F3A56; }
|
||||||
|
button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); }
|
||||||
|
/* common end */
|
||||||
|
|
||||||
|
.aui_inner { background:#f0f1f9; }
|
||||||
|
.aui_titleBar { width:100%; height:0; position:relative; bottom:27px; _bottom:0; _margin-top:-27px; }
|
||||||
|
.aui_title { height:27px; line-height:27px; padding:0 37px 0 0; _padding:0; color:#333; text-shadow:1px 1px 0 rgba(255, 255, 255, .7); }
|
||||||
|
.aui_nw, .aui_ne, .aui_sw, .aui_se, .aui_n, .aui_s, .aui_close { background-image:url(opera/s1.png); background-repeat:no-repeat; }
|
||||||
|
.aui_nw { width:15px; height:32px; background-position: 0 0; _png:opera/ie6/aui_nw.png; }
|
||||||
|
.aui_ne { width:15px; height:32px; background-position: -15px 0; _png:opera/ie6/aui_ne.png; }
|
||||||
|
.aui_sw { width:15px; height:15px; background-position: 0 -33px; _png:opera/ie6/aui_sw.png; }
|
||||||
|
.aui_se { width:15px; height:15px; background-position: -15px -33px; _png:opera/ie6/aui_se.png; }
|
||||||
|
.aui_close { top:0; right:0; _z-index:1; width:27px; height:27px; _font-size:0; _line-height:0; *zoom:1; text-indent:-9999em; background-position:0 -96px; _png:opera/ie6/aui_close.png; }
|
||||||
|
.aui_close:hover { background-position:0 -123px; _png:opera/ie6/aui_close.hover.png; }
|
||||||
|
.aui_n, .aui_s { background-repeat:repeat-x; }
|
||||||
|
.aui_n { background-position: 0 -48px; _png:opera/ie6/aui_n.png; }
|
||||||
|
.aui_s { background-position: 0 -81px; _png:opera/ie6/aui_s.png; }
|
||||||
|
.aui_w, .aui_e { background-image:url(opera/s2.png); background-repeat:repeat-y; }
|
||||||
|
.aui_w { background-position:left top; _png:opera/ie6/aui_w.png; }
|
||||||
|
.aui_e { background-position: right bottom; _png:opera/ie6/aui_e.png; }
|
||||||
|
.aui_icon, .aui_main { padding-top:10px; }
|
||||||
|
.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_se { width:3px; height:3px; }
|
||||||
|
.aui_state_noTitle .aui_inner { border:1px solid #666; background:#FFF; }
|
||||||
|
.aui_state_noTitle .aui_outer { box-shadow:none; }
|
||||||
|
.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_n, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_w, .aui_state_noTitle .aui_e, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_s, .aui_state_noTitle .aui_se { background:rgba(0, 0, 0, .05); background:#000\9!important; filter:alpha(opacity=5)!important; }
|
||||||
|
.aui_state_noTitle .aui_titleBar { bottom:0; _bottom:0; _margin-top:0; }
|
||||||
|
.aui_state_noTitle .aui_close { top:0; right:0; width:18px; height:18px; line-height:18px; text-align:center; text-indent:0; font-family: Helvetica, STHeiti; _font-family: '\u9ed1\u4f53', 'Book Antiqua', Palatino; font-size:18px; text-decoration:none; color:#214FA3; background:none; filter:!important; }
|
||||||
|
.aui_state_noTitle .aui_close:hover, .aui_state_noTitle .aui_close:active { text-decoration:none; color:#900; }
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
@charset "utf-8";
|
||||||
|
/*
|
||||||
|
* artDialog skin
|
||||||
|
* http://code.google.com/p/artdialog/
|
||||||
|
* (c) 2009-2011 TangBin, http://www.planeArt.cn
|
||||||
|
*
|
||||||
|
* This is licensed under the GNU LGPL, version 2.1 or later.
|
||||||
|
* For details, see: http://creativecommons.org/licenses/LGPL/2.1/
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* common start */
|
||||||
|
body { _margin:0; _height:100%; /*IE6 BUG*/ }
|
||||||
|
.aui_outer { text-align:left; }
|
||||||
|
table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; }
|
||||||
|
.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; }
|
||||||
|
.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; }
|
||||||
|
.aui_title { overflow:hidden; text-overflow: ellipsis; }
|
||||||
|
.aui_state_noTitle .aui_title { display:none; }
|
||||||
|
.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; }
|
||||||
|
.aui_close:hover { text-decoration:none; }
|
||||||
|
.aui_main { text-align:center; min-width:9em; min-width:0\9/*IE8 BUG*/; }
|
||||||
|
.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; }
|
||||||
|
.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; }
|
||||||
|
.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; }
|
||||||
|
.aui_icon { vertical-align: middle; }
|
||||||
|
.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; }
|
||||||
|
.aui_buttons { padding:8px; text-align:right; white-space:nowrap; }
|
||||||
|
.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; }
|
||||||
|
.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; }
|
||||||
|
.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); }
|
||||||
|
.aui_buttons button:hover { color:#000; border-color:#666; }
|
||||||
|
.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); }
|
||||||
|
.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; }
|
||||||
|
button.aui_state_highlight { color: #FFF; border: solid 1px #1c6a9e; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; }
|
||||||
|
button.aui_state_highlight:hover { color:#FFF; border-color:#0F3A56; }
|
||||||
|
button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); }
|
||||||
|
/* common end */
|
||||||
|
|
||||||
|
.aui_inner { background:#FFF; border:1px solid #666; }
|
||||||
|
.aui_nw, .aui_ne, .aui_sw, .aui_se { width:3px; height:3px; }
|
||||||
|
.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_e, .aui_sw, .aui_s, .aui_se { background:rgba(0, 0, 0, .05); background:#000\9!important; filter:alpha(opacity=5); }
|
||||||
|
.aui_titleBar { position:relative; height:100%; }
|
||||||
|
.aui_title { position:absolute; top:0; left:0; width:100%; height:24px; text-indent:-9999em; overflow:hidden; font-size:0; }
|
||||||
|
.aui_state_drag .aui_title { color:#666; }
|
||||||
|
.aui_close { padding:0; top:0; right:0; width:18px; height:18px; line-height:18px; text-align:center; font-family: Helvetica, STHeiti; _font-family: '\u9ed1\u4f53', 'Book Antiqua', Palatino; font-size:18px; text-decoration:none; color:#214FA3; }
|
||||||
|
.aui_close:hover, .aui_close:active { text-decoration:none; color:#900; }
|
||||||
|
.aui_content { color:#666; }
|
||||||
|
.aui_state_focus .aui_content { color:#000; }
|
||||||
|
@media screen and (min-width:0) {
|
||||||
|
.aui_close { width:20px; height:20px; line-height:20px; right:-10px; top:-10px; border-radius:20px; background:#999; color:#FFF; box-shadow:0 1px 3px rgba(0, 0, 0, .3); -moz-transition: linear .06s; -webkit-transition: linear .06s; transition: linear .06s; }
|
||||||
|
.aui_close:hover { width:24px; height:24px; line-height:24px; right:-12px; top:-12px; color:#FFF; box-shadow:0 1px 3px rgba(209, 40, 42, .5); background:#d1282a; border-radius:24px; }
|
||||||
|
.aui_state_lock .aui_dialog { box-shadow:0 3px 26px rgba(0, 0, 0, .9); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: -webkit-box-shadow linear .2s; }
|
||||||
|
.aui_dialog:active { box-shadow:0 0 5px rgba(0, 0, 0, .1)!important; }
|
||||||
|
.aui_state_drag .aui_outer { box-shadow:none!important; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
@charset "utf-8";
|
||||||
|
/*
|
||||||
|
* artDialog skin
|
||||||
|
* http://code.google.com/p/artdialog/
|
||||||
|
* (c) 2009-2011 TangBin, http://www.planeArt.cn
|
||||||
|
*
|
||||||
|
* This is licensed under the GNU LGPL, version 2.1 or later.
|
||||||
|
* For details, see: http://creativecommons.org/licenses/LGPL/2.1/
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* common start */
|
||||||
|
body { _margin:0; _height:100%; /*IE6 BUG*/ }
|
||||||
|
.aui_outer { text-align:left; }
|
||||||
|
table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; }
|
||||||
|
.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; }
|
||||||
|
.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; }
|
||||||
|
.aui_title { overflow:hidden; text-overflow: ellipsis; }
|
||||||
|
.aui_state_noTitle .aui_title { display:none; }
|
||||||
|
.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; }
|
||||||
|
.aui_close:hover { text-decoration:none; }
|
||||||
|
.aui_main { text-align:center; min-width:9em; min-width:0\9/*IE8 BUG*/; }
|
||||||
|
.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; }
|
||||||
|
.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; }
|
||||||
|
.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; }
|
||||||
|
.aui_icon { vertical-align: middle; }
|
||||||
|
.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; }
|
||||||
|
.aui_buttons { padding:8px; text-align:right; white-space:nowrap; }
|
||||||
|
.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; }
|
||||||
|
.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; }
|
||||||
|
.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); }
|
||||||
|
.aui_buttons button:hover { color:#000; border-color:#666; }
|
||||||
|
.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); }
|
||||||
|
.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; }
|
||||||
|
button.aui_state_highlight { color: #FFF; border: solid 1px #1c6a9e; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; }
|
||||||
|
button.aui_state_highlight:hover { color:#FFF; border-color:#0F3A56; }
|
||||||
|
button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); }
|
||||||
|
/* common end */
|
||||||
|
|
||||||
|
.aui_inner { background:rgba(0, 0, 0, .7); }
|
||||||
|
.aui_dialog { background:#FFF; border-radius:3px; }
|
||||||
|
.aui_outer { border:1px solid #000; border-radius:5px; box-shadow: 0 3px 0 rgba(0,0,0,0.1); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: -webkit-box-shadow linear .2s; }
|
||||||
|
.aui_state_lock .aui_outer { box-shadow:0 3px 26px rgba(0, 0, 0, .9); }
|
||||||
|
.aui_outer:active { box-shadow:none!important; }
|
||||||
|
.aui_state_drag .aui_outer { box-shadow:none!important; }
|
||||||
|
.aui_border { border-radius:3px; }
|
||||||
|
.aui_nw, .aui_ne { width:5px; height:37px; }
|
||||||
|
.aui_sw, .aui_se { width:5px; height:5px; }
|
||||||
|
.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_e, .aui_sw, .aui_s, .aui_se { background:rgba(0, 0, 0, .7); background:#000\9!important; filter:alpha(opacity=70); }
|
||||||
|
.aui_titleBar { width:100%; height:0; position:relative; bottom:33px; _bottom:0; _margin-top:-33px; }
|
||||||
|
.aui_title { height:27px; line-height:27px; padding:0 16px 0 5px; color:#FFF; font-weight:700; text-shadow:0 1px 0 #000; }
|
||||||
|
.aui_close { padding:0; top:2px; right:5px; width:21px; height:21px; line-height:21px; font-size:18px; text-align:center; color:#EBEBEB; font-family: Helvetica, STHeiti; _font-family: Tahoma, '\u9ed1\u4f53', 'Book Antiqua', Palatino; border:1px solid transparent; _border:0 none; background:#000; border-radius:15px; }
|
||||||
|
.aui_state_drag .aui_close { color:#FFF; }
|
||||||
|
.aui_close:hover { background:#C72015; border:1px solid #000; _border:0 none; box-shadow: 0 1px 0 rgba(255, 255, 255, .3), inset 0 1px 0 rgba(255, 255, 255, .3); }
|
||||||
|
.aui_close:active { box-shadow: none; }
|
||||||
|
.aui_state_noTitle { }
|
||||||
|
.aui_content { color:#666; }
|
||||||
|
.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_ne { height:5px; }
|
||||||
|
.aui_state_noTitle .aui_titleBar { bottom:0; _bottom:0; _margin-top:0; }
|
||||||
|
.aui_state_noTitle .aui_close { top:5px; }
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
@charset "utf-8";
|
||||||
|
/*
|
||||||
|
* artDialog skin
|
||||||
|
* http://code.google.com/p/artdialog/
|
||||||
|
* (c) 2009-2011 TangBin, http://www.planeArt.cn
|
||||||
|
*
|
||||||
|
* This is licensed under the GNU LGPL, version 2.1 or later.
|
||||||
|
* For details, see: http://creativecommons.org/licenses/LGPL/2.1/
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* common start */
|
||||||
|
body { _margin:0; _height:100%; /*IE6 BUG*/ }
|
||||||
|
.aui_outer { text-align:left; }
|
||||||
|
table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; }
|
||||||
|
.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; }
|
||||||
|
.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; }
|
||||||
|
.aui_title { overflow:hidden; text-overflow: ellipsis; }
|
||||||
|
.aui_state_noTitle .aui_title { display:none; }
|
||||||
|
.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; }
|
||||||
|
.aui_close:hover { text-decoration:none; }
|
||||||
|
.aui_main { text-align:center; min-width:9em; min-width:0\9/*IE8 BUG*/; }
|
||||||
|
.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; }
|
||||||
|
.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; }
|
||||||
|
.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; }
|
||||||
|
.aui_icon { vertical-align: middle; }
|
||||||
|
.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; }
|
||||||
|
.aui_buttons { padding:8px; text-align:right; white-space:nowrap; }
|
||||||
|
.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; }
|
||||||
|
.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; }
|
||||||
|
.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); }
|
||||||
|
.aui_buttons button:hover { color:#000; border-color:#666; }
|
||||||
|
.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); }
|
||||||
|
.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; }
|
||||||
|
button.aui_state_highlight { color: #FFF; border: solid 1px #1c6a9e; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; }
|
||||||
|
button.aui_state_highlight:hover { color:#FFF; border-color:#0F3A56; }
|
||||||
|
button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); }
|
||||||
|
/* common end */
|
||||||
|
|
||||||
|
.aui_inner { background:#FFF; }
|
||||||
|
.aui_titleBar { width:100%; height:0; position:relative; bottom:30px; _bottom:0; _margin-top:-30px; }
|
||||||
|
.aui_title { height:29px; line-height:29px; padding:0 16px 0 0; _padding:0; color:#FFF; font-weight:700; text-shadow:1px 1px 0 rgba(0, 0, 0, .9); }
|
||||||
|
.aui_nw, .aui_ne, .aui_sw, .aui_se, .aui_n, .aui_s, .aui_close { background-image:url(aero/aero_s.png); background-repeat:no-repeat; }
|
||||||
|
.aui_nw { width:14px; height:34px; background-position: 0 0; _png:aero/ie6/aui_nw.png; }
|
||||||
|
.aui_ne { width:14px; height:34px; background-position: -14px 0; _png:aero/ie6/aui_ne.png; }
|
||||||
|
.aui_sw { width:14px; height:14px; background-position: 0 -34px; _png:aero/ie6/aui_sw.png; }
|
||||||
|
.aui_se { width:14px; height:14px; background-position: -14px -34px; _png:aero/ie6/aui_se.png; }
|
||||||
|
.aui_close { top:7px; right:0; _z-index:1; width:13px; height:13px; _font-size:0; _line-height:0; text-indent:-9999em; background-position:left -96px; _background:url(aero/ie6/aui_close.png); }
|
||||||
|
.aui_close:hover { background-position:right -96px; _background:url(aero/ie6/aui_close.hover.png); }
|
||||||
|
.aui_n, .aui_s { background-repeat:repeat-x; }
|
||||||
|
.aui_n { background-position: 0 -48px; _png:aero/ie6/aui_n.png; }
|
||||||
|
.aui_s { background-position: 0 -82px; _png:aero/ie6/aui_s.png; }
|
||||||
|
.aui_w, .aui_e { background-image:url(aero/aero_s2.png); background-repeat:repeat-y; }
|
||||||
|
.aui_w { background-position:left top; _png:aero/ie6/aui_w.png; }
|
||||||
|
.aui_e { background-position: right bottom; _png:aero/ie6/aui_e.png; }
|
||||||
|
.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_se { width:3px; height:3px; }
|
||||||
|
.aui_state_noTitle .aui_inner { border:1px solid #666; background:#FFF; }
|
||||||
|
.aui_state_noTitle .aui_outer { box-shadow:none; }
|
||||||
|
.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_n, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_w, .aui_state_noTitle .aui_e, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_s, .aui_state_noTitle .aui_se { background:rgba(0, 0, 0, .05); background:#000\9!important; filter:alpha(opacity=5)!important; }
|
||||||
|
.aui_state_noTitle .aui_titleBar { bottom:0; _bottom:0; _margin-top:0; }
|
||||||
|
.aui_state_noTitle .aui_close { top:0; right:0; width:18px; height:18px; line-height:18px; text-align:center; text-indent:0; font-family: Helvetica, STHeiti; _font-family: '\u9ed1\u4f53', 'Book Antiqua', Palatino; font-size:18px; text-decoration:none; color:#214FA3; background:none; filter:!important; }
|
||||||
|
.aui_state_noTitle .aui_close:hover, .aui_state_noTitle .aui_close:active { text-decoration:none; color:#900; }
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 81
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/aero
|
||||||
|
END
|
||||||
|
aero_s.png
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 92
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/aero/aero_s.png
|
||||||
|
END
|
||||||
|
aero_s2.png
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 93
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/aero/aero_s2.png
|
||||||
|
END
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
10
|
||||||
|
|
||||||
|
dir
|
||||||
|
371
|
||||||
|
https://42.121.52.247/svn/ecmall/ecmall/includes/libraries/javascript/artDialog/skins/aero
|
||||||
|
https://42.121.52.247/svn/ecmall
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
|
||||||
|
|
||||||
|
svn:special svn:externals svn:needs-lock
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
d8fde07f-0130-2f47-8851-2ad99dc1c468
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
0
|
||||||
|
|
||||||
|
aero_s.png
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
7035a93bdc791536094c126232abae0e
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2381
|
||||||
|
|
||||||
|
aero_s2.png
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
89a5907a3cb1bebdce0aa272e684e3a7
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
188
|
||||||
|
|
||||||
|
ie6
|
||||||
|
dir
|
||||||
|
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
K 13
|
||||||
|
svn:mime-type
|
||||||
|
V 24
|
||||||
|
application/octet-stream
|
||||||
|
END
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
K 13
|
||||||
|
svn:mime-type
|
||||||
|
V 24
|
||||||
|
application/octet-stream
|
||||||
|
END
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 188 B |
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 188 B |
@@ -0,0 +1,71 @@
|
|||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 85
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/aero/ie6
|
||||||
|
END
|
||||||
|
aui_s.png
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 95
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/aero/ie6/aui_s.png
|
||||||
|
END
|
||||||
|
aui_title_icon.png
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 104
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/aero/ie6/aui_title_icon.png
|
||||||
|
END
|
||||||
|
aui_e.png
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 95
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/aero/ie6/aui_e.png
|
||||||
|
END
|
||||||
|
aui_close.hover.png
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 105
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/aero/ie6/aui_close.hover.png
|
||||||
|
END
|
||||||
|
aui_se.png
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 96
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/aero/ie6/aui_se.png
|
||||||
|
END
|
||||||
|
aui_w.png
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 95
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/aero/ie6/aui_w.png
|
||||||
|
END
|
||||||
|
aui_close.png
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 99
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/aero/ie6/aui_close.png
|
||||||
|
END
|
||||||
|
aui_sw.png
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 96
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/aero/ie6/aui_sw.png
|
||||||
|
END
|
||||||
|
aui_ne.png
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 96
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/aero/ie6/aui_ne.png
|
||||||
|
END
|
||||||
|
aui_nw.png
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 96
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/aero/ie6/aui_nw.png
|
||||||
|
END
|
||||||
|
aui_n.png
|
||||||
|
K 25
|
||||||
|
svn:wc:ra_dav:version-url
|
||||||
|
V 95
|
||||||
|
/svn/ecmall/!svn/ver/55/ecmall/includes/libraries/javascript/artDialog/skins/aero/ie6/aui_n.png
|
||||||
|
END
|
||||||
@@ -0,0 +1,409 @@
|
|||||||
|
10
|
||||||
|
|
||||||
|
dir
|
||||||
|
371
|
||||||
|
https://42.121.52.247/svn/ecmall/ecmall/includes/libraries/javascript/artDialog/skins/aero/ie6
|
||||||
|
https://42.121.52.247/svn/ecmall
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
|
||||||
|
|
||||||
|
svn:special svn:externals svn:needs-lock
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
d8fde07f-0130-2f47-8851-2ad99dc1c468
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
0
|
||||||
|
|
||||||
|
aui_close.hover.png
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
5cc34cf0c556616d6763d3ea4f675dbc
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
190
|
||||||
|
|
||||||
|
aui_close.png
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
0efde381df612e9b7c0c705fbdcd638f
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
190
|
||||||
|
|
||||||
|
aui_e.png
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
b2a80828dda76b28bddbe2ed3fb0e5d9
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1352
|
||||||
|
|
||||||
|
aui_n.png
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
355891e1a588f8363412c3e27588f41a
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2043
|
||||||
|
|
||||||
|
aui_ne.png
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
486d7255f0ec6c73dd2b310c857ad170
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
601
|
||||||
|
|
||||||
|
aui_nw.png
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
ec7fef3ffe3da92a82783b7a686cd3bb
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
528
|
||||||
|
|
||||||
|
aui_s.png
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
40d3ab663bd235e49c19eb7192fce876
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
971
|
||||||
|
|
||||||
|
aui_se.png
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
11c4dfad146c80b3404ea6560746f795
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
471
|
||||||
|
|
||||||
|
aui_sw.png
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
eeecb15c9bd9ec2bac0a3785f1a2efc3
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
470
|
||||||
|
|
||||||
|
aui_title_icon.png
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
152ba4b28316d023af9ac2c1e9254239
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
233
|
||||||
|
|
||||||
|
aui_w.png
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2014-06-16T14:20:20.000000Z
|
||||||
|
c2fb74ab9ce7152694a0084b11953cd6
|
||||||
|
2014-06-17T11:53:48.998281Z
|
||||||
|
55
|
||||||
|
litie
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1361
|
||||||
|
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
K 13
|
||||||
|
svn:mime-type
|
||||||
|
V 24
|
||||||
|
application/octet-stream
|
||||||
|
END
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
K 13
|
||||||
|
svn:mime-type
|
||||||
|
V 24
|
||||||
|
application/octet-stream
|
||||||
|
END
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
K 13
|
||||||
|
svn:mime-type
|
||||||
|
V 24
|
||||||
|
application/octet-stream
|
||||||
|
END
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
K 13
|
||||||
|
svn:mime-type
|
||||||
|
V 24
|
||||||
|
application/octet-stream
|
||||||
|
END
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
K 13
|
||||||
|
svn:mime-type
|
||||||
|
V 24
|
||||||
|
application/octet-stream
|
||||||
|
END
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
K 14
|
||||||
|
svn:executable
|
||||||
|
V 1
|
||||||
|
*
|
||||||
|
K 13
|
||||||
|
svn:mime-type
|
||||||
|
V 24
|
||||||
|
application/octet-stream
|
||||||
|
END
|
||||||
Loaded 100 of 409 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user