1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update music tabs

This commit is contained in:
Luke Pulverenti 2016-05-15 14:52:36 -04:00
parent 2fd65cdcd9
commit 48da4f1c8d
21 changed files with 1160 additions and 1029 deletions

View file

@ -16,12 +16,12 @@
},
"devDependencies": {},
"ignore": [],
"version": "1.3.26",
"_release": "1.3.26",
"version": "1.3.27",
"_release": "1.3.27",
"_resolution": {
"type": "version",
"tag": "1.3.26",
"commit": "094d2fc7c9e0c008e1c44744da95a69d1aa6516f"
"tag": "1.3.27",
"commit": "d50eb817e00a23afb8fd5c5fe5a08745de291951"
},
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
"_target": "^1.2.0",

View file

@ -0,0 +1,53 @@
{
"ValueSpecialEpisodeName": "\u0410\u0440\u043d\u0430\u0439\u044b - {0}",
"Share": "\u041e\u0440\u0442\u0430\u049b\u0442\u0430\u0441\u0443",
"ServerUpdateNeeded": "\u041e\u0441\u044b Emby Server \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442. \u0421\u043e\u04a3\u0493\u044b \u043d\u04b1\u0441\u049b\u0430\u0441\u044b\u043d \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443 \u04af\u0448\u0456\u043d, {0} \u043a\u0456\u0440\u0456\u04a3\u0456\u0437",
"LiveTvGuideRequiresUnlock": "\u042d\u0444\u0438\u0440\u043b\u0456\u043a \u0422\u0435\u043b\u0435\u0433\u0438\u0434\u0442\u0435 \u049b\u0430\u0437\u0456\u0440\u0433\u0456 \u0443\u0430\u049b\u044b\u0442\u0442\u0430 {0} \u0430\u0440\u043d\u0430\u043b\u0430\u0440 \u0448\u0435\u043a\u0442\u0435\u043b\u0435\u0434\u0456. \u0422\u043e\u043b\u044b\u049b \u0442\u04d9\u0436\u0440\u0438\u0431\u0435 \u0430\u043b\u0443\u0493\u0430 \u04af\u0439\u0440\u0435\u043d\u0443 \u04af\u0448\u0456\u043d \u049a\u04b1\u0440\u0441\u0430\u0443\u044b\u043d \u0431\u043e\u0441\u0430\u0442\u0443 \u0442\u04af\u0439\u043c\u0435\u0448\u0456\u0433\u0456\u043d \u0431\u0430\u0441\u044b\u04a3\u044b\u0437.",
"AttributeNew": "\u0416\u0430\u04a3\u0430",
"AttributePremiere": "\u0422\u04b1\u0441\u0430\u0443\u043a\u0435\u0441\u0435\u0440\u0456",
"AttributeLive": "\u0422\u0456\u043a\u0435\u043b\u0435\u0439",
"TrackCount": "{0} \u0436\u043e\u043b\u0448\u044b\u049b",
"ItemCount": "{0} \u0442\u0430\u0440\u043c\u0430\u049b",
"ValueSeriesYearToPresent": "{0} - \u049b\u0430\u0437\u0456\u0440\u0434\u0435",
"ReleaseYearValue": "\u0428\u044b\u0493\u0430\u0440\u0443 \u0436\u043e\u043b\u044b: {0}",
"OriginalAirDateValue": "\u0411\u0430\u0441\u0442\u0430\u043f\u049b\u044b \u044d\u0444\u0438\u0440: {0}",
"EndsAtValue": "\u0410\u044f\u049b\u0442\u0430\u043b\u0443\u044b: {0}",
"OptionSundayShort": "\u0436\u0435\u043a",
"OptionMondayShort": "\u0434\u04af\u0439",
"OptionTuesdayShort": "\u0441\u0435\u0439",
"OptionWednesdayShort": "\u0441\u04d9\u0440",
"OptionThursdayShort": "\u0431\u0435\u0439",
"OptionFridayShort": "\u0436\u04b1\u043c",
"OptionSaturdayShort": "\u0441\u0435\u043d",
"HeaderSelectDate": "\u041a\u0435\u0437\u0434\u0456 \u0442\u0430\u04a3\u0434\u0430\u0443",
"ButtonOk": "\u0416\u0430\u0440\u0430\u0439\u0434\u044b",
"ButtonCancel": "\u0411\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443",
"ButtonGotIt": "\u0422\u04af\u0441\u0456\u043d\u0456\u043a\u0442\u0456",
"RecordingScheduled": "\u0416\u0430\u0437\u0443 \u0436\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u0430\u043d.",
"HeaderNewRecording": "\u0416\u0430\u04a3\u0430 \u0436\u0430\u0437\u0443",
"Sunday": "\u0436\u0435\u043a\u0441\u0435\u043d\u0431\u0456",
"Monday": "\u0434\u04af\u0439\u0441\u0435\u043d\u0431\u0456",
"Tuesday": "\u0441\u0435\u0439\u0441\u0435\u043d\u0431\u0456",
"Wednesday": "\u0441\u04d9\u0440\u0441\u0435\u043d\u0431\u0456",
"Thursday": "\u0431\u0435\u0439\u0441\u0435\u043d\u0431\u0456",
"Friday": "\u0436\u04b1\u043c\u0430",
"Saturday": "\u0441\u0435\u043d\u0431\u0456",
"Days": "\u041a\u04af\u043d\u0434\u0435\u0440",
"RecordSeries": "\u0422\u0435\u043b\u0435\u0445\u0438\u043a\u0430\u044f\u043d\u044b \u0436\u0430\u0437\u0443",
"PrePaddingMinutes": "\u0410\u043b\u0493\u0430 \u0448\u0435\u0433\u0456\u043d\u0456\u0441, \u043c\u0438\u043d:",
"PostPaddingMinutes": "\u0410\u0440\u0442\u049b\u0430 \u0448\u0435\u0433\u0456\u043d\u0456\u0441, \u043c\u0438\u043d",
"RecordOnAllChannels": "\u0411\u0430\u0440\u043b\u044b\u049b \u0430\u0440\u043d\u0430\u043b\u0430\u0440\u0434\u0430\u043d \u0436\u0430\u0437\u044b\u043f \u0430\u043b\u0443",
"RecordAnytime": "\u04d8\u0440 \u0443\u0430\u049b\u044b\u0442\u0442\u0430 \u0436\u0430\u0437\u044b\u043f \u0430\u043b\u0443",
"RecordOnlyNewEpisodes": "\u0422\u0435\u043a \u049b\u0430\u043d\u0430 \u0436\u0430\u04a3\u0430 \u0431\u04e9\u043b\u0456\u043c\u0434\u0435\u0440\u0434\u0456 \u0436\u0430\u0437\u044b\u043f \u0430\u043b\u0443",
"HeaderBecomeProjectSupporter": "Emby Premiere \u0430\u043b\u0443",
"HeaderEnjoyDayTrial": "\u0422\u0435\u0433\u0456\u043d \u0441\u044b\u043d\u0430\u0443\u0434\u044b 14 \u043a\u04af\u043d \u0442\u0430\u043c\u0430\u0448\u0430\u043b\u0430\u04a3\u044b\u0456\u0437",
"MessageActiveSubscriptionRequiredSeriesRecordings": "\u0422\u0435\u043b\u0435\u0445\u0438\u043a\u0430\u044f\u043b\u0430\u0440\u0434\u044b\u04a3 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0436\u0430\u0437\u0431\u0430\u0441\u044b\u043d \u0436\u0430\u0441\u0430\u0443 \u04af\u0448\u0456\u043d \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 Emby Premiere \u0436\u0430\u0437\u044b\u043b\u044b\u043c\u044b \u049b\u0430\u0436\u0435\u0442.",
"OptionConvertRecordingsToStreamingFormat": "\u0416\u0430\u0437\u0443\u043b\u0430\u0440\u0434\u044b \u0442\u0430\u0440\u0430\u0442\u0443 \u04af\u0448\u0456\u043d \u043e\u04a3\u0430\u0439 \u043f\u0456\u0448\u0456\u043c\u0433\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u0442\u04af\u0440\u043b\u0435\u043d\u0434\u0456\u0440\u0443",
"OptionConvertRecordingsToStreamingFormatHelp": "\u0416\u0430\u0437\u0431\u0430\u043b\u0430\u0440 \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043b\u0430\u0440\u044b\u04a3\u044b\u0437\u0434\u0430 \u043e\u04a3\u0430\u0439 \u043e\u0439\u043d\u0430\u0442\u0443 \u04af\u0448\u0456\u043d \u043d\u0430\u049b\u0442\u044b \u0443\u0430\u049b\u044b\u0442\u0442\u0430 MP4 \u043f\u0456\u0448\u0456\u043c\u0456\u043d\u0435 \u0442\u04af\u0440\u043b\u0435\u043d\u0434\u0456\u0440\u0456\u043b\u0435\u0434\u0456.",
"FeatureRequiresEmbyPremiere": "\u041e\u0441\u044b \u049b\u04b1\u0440\u0430\u043c\u0434\u0430\u0441 \u04af\u0448\u0456\u043d \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 Emby Premiere \u0436\u0430\u0437\u044b\u043b\u044b\u043c\u044b \u049b\u0430\u0436\u0435\u0442",
"Record": "\u0416\u0430\u0437\u0443",
"Download": "\u0416\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443",
"Advanced": "\u041a\u0435\u04a3\u0435\u0439\u0442\u0456\u043b\u0433\u0435\u043d",
"Refresh": "\u0416\u0430\u04a3\u0493\u044b\u0440\u0442\u0443",
"RefreshQueued": "\u0416\u0430\u04a3\u0493\u044b\u0440\u0442\u0443 \u043a\u0435\u0437\u0435\u043a\u0442\u0435"
}

View file

@ -0,0 +1,53 @@
{
"ValueSpecialEpisodeName": "\u0421\u043f\u0435\u0446\u044d\u043f\u0438\u0437\u043e\u0434 - {0}",
"Share": "\u041f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f",
"ServerUpdateNeeded": "\u0414\u0430\u043d\u043d\u044b\u0439 Emby \u0421\u0435\u0440\u0432\u0435\u0440 \u043d\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438. \u0427\u0442\u043e\u0431\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0432\u0435\u0440\u0441\u0438\u044e, \u043f\u043e\u0441\u0435\u0442\u0438\u0442\u0435 {0}",
"LiveTvGuideRequiresUnlock": "\u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0442\u0435\u043b\u0435\u0433\u0438\u0434 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d {0} \u043a\u0430\u043d\u0430\u043b(\u043e\u043c\/\u0430\u043c\u0438). \u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \u0420\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c \u043a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u044d\u0444\u0444\u0435\u043a\u0442.",
"AttributeNew": "\u041d\u043e\u0432\u043e\u0435",
"AttributePremiere": "\u041f\u0440\u0435\u043c\u044c\u0435\u0440\u0430",
"AttributeLive": "\u042d\u0444\u0438\u0440",
"TrackCount": "{0} \u0434\u043e\u0440\u043e\u0436(\u043a\u0438\/\u0435\u043a)",
"ItemCount": "{0} \u044d\u043b\u0435\u043c\u0435\u043d\u0442(\u0430\/\u043e\u0432)",
"ValueSeriesYearToPresent": "{0} - \u041d.\u0412.",
"ReleaseYearValue": "\u0413\u043e\u0434 \u0432\u044b\u043f\u0443\u0441\u043a\u0430: {0}",
"OriginalAirDateValue": "\u0414\u0430\u0442\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u044d\u0444\u0438\u0440\u0430: {0}",
"EndsAtValue": "\u041a\u043e\u043d\u0447\u0430\u0435\u0442\u0441\u044f \u0432 {0}",
"OptionSundayShort": "\u0432\u0441\u043a",
"OptionMondayShort": "\u043f\u043d\u0434",
"OptionTuesdayShort": "\u0432\u0442\u0440",
"OptionWednesdayShort": "\u0441\u0440\u0434",
"OptionThursdayShort": "\u0447\u0442\u0432",
"OptionFridayShort": "\u043f\u0442\u043d",
"OptionSaturdayShort": "\u0441\u0431\u0442",
"HeaderSelectDate": "\u0412\u044b\u0431\u043e\u0440 \u0434\u0430\u0442\u044b",
"ButtonOk": "\u041e\u043a",
"ButtonCancel": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c",
"ButtonGotIt": "\u041f\u043e\u043d\u044f\u0442\u043d\u043e",
"RecordingScheduled": "\u0417\u0430\u043f\u0438\u0441\u044c \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430.",
"HeaderNewRecording": "\u041d\u043e\u0432\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c",
"Sunday": "\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435",
"Monday": "\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a",
"Tuesday": "\u0432\u0442\u043e\u0440\u043d\u0438\u043a",
"Wednesday": "\u0441\u0440\u0435\u0434\u0430",
"Thursday": "\u0447\u0435\u0442\u0432\u0435\u0440\u0433",
"Friday": "\u043f\u044f\u0442\u043d\u0438\u0446\u0430",
"Saturday": "\u0441\u0443\u0431\u0431\u043e\u0442\u0430",
"Days": "\u0414\u043d\u0438",
"RecordSeries": "\u0417\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0435\u0440\u0438\u0430\u043b",
"PrePaddingMinutes": "\u041d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0442\u0431\u0438\u0432\u043a\u0430, \u043c\u0438\u043d:",
"PostPaddingMinutes": "\u041a\u043e\u043d\u0435\u0447\u043d\u0430\u044f \u043e\u0442\u0431\u0438\u0432\u043a\u0430, \u043c\u0438\u043d:",
"RecordOnAllChannels": "\u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0441\u043e \u0432\u0441\u0435\u0445 \u043a\u0430\u043d\u0430\u043b\u043e\u0432",
"RecordAnytime": "\u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f",
"RecordOnlyNewEpisodes": "\u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u043e\u0432\u044b\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u044b",
"HeaderBecomeProjectSupporter": "\u041f\u0440\u0438\u043e\u0431\u0440\u0435\u0441\u0442\u0438 Emby Premiere",
"HeaderEnjoyDayTrial": "\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043d\u0430 14 \u0434\u043d\u0435\u0439",
"MessageActiveSubscriptionRequiredSeriesRecordings": "\u0414\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0430 Emby Premiere \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0441\u0435\u0440\u0438\u0439.",
"OptionConvertRecordingsToStreamingFormat": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0434\u043b\u044f \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0444\u043e\u0440\u043c\u0430\u0442",
"OptionConvertRecordingsToStreamingFormatHelp": "\u0417\u0430\u043f\u0438\u0441\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432 MP4 \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043d\u0430 \u0432\u0430\u0448\u0438\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445.",
"FeatureRequiresEmbyPremiere": "\u0414\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0430 Emby Premiere.",
"Record": "\u0417\u0430\u043f\u0438\u0441\u0430\u0442\u044c",
"Download": "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c",
"Advanced": "\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0435",
"Refresh": "\u041f\u043e\u0434\u043d\u043e\u0432\u0438\u0442\u044c",
"RefreshQueued": "\u041f\u043e\u0434\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u0438"
}

View file

@ -30,14 +30,14 @@
"web-component-tester": "polymer/web-component-tester#^3.4.0"
},
"ignore": [],
"homepage": "https://github.com/PolymerElements/iron-a11y-announcer",
"homepage": "https://github.com/polymerelements/iron-a11y-announcer",
"_release": "1.0.4",
"_resolution": {
"type": "version",
"tag": "v1.0.4",
"commit": "5ce3eb8c4282bb53cd72e348858dc6be6b4c50b9"
},
"_source": "git://github.com/PolymerElements/iron-a11y-announcer.git",
"_source": "git://github.com/polymerelements/iron-a11y-announcer.git",
"_target": "^1.0.0",
"_originalSource": "PolymerElements/iron-a11y-announcer"
"_originalSource": "polymerelements/iron-a11y-announcer"
}

View file

@ -34,6 +34,6 @@
"commit": "11c987b2eb3c73b388a79fc8aaea8ca01624f514"
},
"_source": "git://github.com/Polymer/polymer.git",
"_target": "^1.0.0",
"_target": "^1.1.0",
"_originalSource": "Polymer/polymer"
}

View file

@ -195,7 +195,6 @@
.libraryViewNav {
justify-content: center;
display: flex;
display: block;
text-align: center;
@ -224,6 +223,15 @@
height: auto;
min-width: initial;
line-height: initial;
border-radius: 0 !important;
}
.libraryViewNav .pageTabButton:hover {
background-color: transparent;
}
.libraryViewNav .pageTabButton:active {
background-color: rgba(100,100,100, 0.20);
}
.libraryViewNav .pageTabButton:focus {
@ -234,19 +242,20 @@
color: #fff !important;
}
.libraryViewNav .pageTabButton:before {
.libraryViewNav .pageTabButton:after {
content: '';
position: absolute;
left: 0;
border: 0;
bottom: 0;
height: 2px;
transition: all .12s cubic-bezier(.4,0,1,1);
transition: all .2s cubic-bezier(.4,0,1,1);
right: 0;
transform: translateX(-100%);
border-radius: 0;
}
.libraryViewNav .pageTabButton.is-active:before {
.libraryViewNav .pageTabButton.is-active:after {
transform: none;
background: #52B54B;
}

View file

@ -52,11 +52,9 @@ body:not(.dashboardDocument) .mainDrawerButton {
box-shadow: none;
}
.libraryViewNav a {
.libraryViewNav .pageTabButton {
font-weight: 400;
text-transform: none;
color: #ccc !important;
padding: 12px 13px 8px;
}
.libraryViewNav .pageTabButton.is-active:after {

View file

@ -17,14 +17,10 @@
background: #161616;
}
.libraryViewNav .mdl-tabs__tab.is-active {
.libraryViewNav .pageTabButton.is-active {
color: #52B54B !important;
}
.libraryViewNav .mdl-tabs__tab.is-active:after {
background-color: transparent !important;
}
.libraryPage:not(.noSecondaryNavPage) {
padding-top: 105px !important;
}

View file

@ -1,4 +1,4 @@
<div id="musicRecommendedPage" data-dom-cache="true" data-role="page" class="page libraryPage backdropPage pageWithAbsoluteTabs" data-backdroptype="musicartist" data-require="scripts/musicrecommended,paper-checkbox,scripts/alphapicker">
<div id="musicRecommendedPage" data-dom-cache="true" data-role="page" class="page libraryPage backdropPage pageWithAbsoluteTabs" data-backdroptype="musicartist">
<div class="libraryViewNav">
<button class="pageTabButton is-active" data-index="0">${TabSuggestions}</button>

View file

@ -76,7 +76,7 @@
var mdlTabs = page.querySelector('.libraryViewNav');
libraryBrowser.configurePaperLibraryTabs(page, mdlTabs, page.querySelectorAll('.pageTabContent'));
libraryBrowser.configurePaperLibraryTabs(page, mdlTabs, page.querySelectorAll('.pageTabContent'), true);
mdlTabs.addEventListener('tabchange', function (e) {
loadTab(page, parseInt(e.detail.selectedTabIndex));

View file

@ -249,7 +249,7 @@
var mdlTabs = view.querySelector('.libraryViewNav');
libraryBrowser.configurePaperLibraryTabs(view, mdlTabs, view.querySelectorAll('.pageTabContent'));
libraryBrowser.configurePaperLibraryTabs(view, mdlTabs, view.querySelectorAll('.pageTabContent'), true);
var tabControllers = [];
var renderedTabs = [];

View file

@ -225,7 +225,7 @@
});
},
configurePaperLibraryTabs: function (ownerpage, tabs, panels) {
configurePaperLibraryTabs: function (ownerpage, tabs, panels, animate) {
if (!browserInfo.safari) {
LibraryBrowser.configureSwipeTabs(ownerpage, tabs);
@ -235,6 +235,8 @@
for (var i = 0, length = buttons.length; i < length; i++) {
buttons[i].classList.add('mdl-button');
buttons[i].classList.add('mdl-js-button');
buttons[i].classList.add('mdl-js-ripple-effect');
componentHandler.upgradeElement(buttons[i], 'MaterialButton');
}
tabs.classList.add('hiddenScrollX');
@ -275,9 +277,9 @@
panels[index].classList.add('is-active');
//if (browserInfo.animate) {
// fadeInRight(panels[index]);
//}
if (browserInfo.animate && animate) {
fadeInRight(panels[index]);
}
// If toCenter is called syncronously within the click event, it sometimes ends up canceling it
//setTimeout(function() {
@ -1905,7 +1907,8 @@
var showTitle = options.showTitle == 'auto' ? true : options.showTitle;
if (item.Type == 'PhotoAlbum') {
// Force the title for these
if (item.Type == 'PhotoAlbum' || item.Type == 'Folder') {
showTitle = true;
}
var coverImage = options.coverImage;

View file

@ -204,7 +204,7 @@
baseUrl += '?topParentId=' + topParentId;
}
libraryBrowser.configurePaperLibraryTabs(view, mdlTabs, view.querySelectorAll('.pageTabContent'));
libraryBrowser.configurePaperLibraryTabs(view, mdlTabs, view.querySelectorAll('.pageTabContent'), true);
mdlTabs.addEventListener('tabchange', function (e) {
loadTab(view, parseInt(e.detail.selectedTabIndex));

View file

@ -1,5 +1,9 @@
define(['jQuery'], function ($) {
return function (view, params, tabContent) {
var self = this;
var data = {};
function getPageData(context) {
var key = getSavedQueryKey(context);
@ -155,8 +159,6 @@
$('.alphabetPicker', tabContent).alphaValue(query.NameStartsWithOrGreater);
}
function initPage(tabContent) {
$('.alphabetPicker', tabContent).on('alphaselect', function (e, character) {
var query = getQuery(tabContent);
@ -174,16 +176,11 @@
reloadItems(tabContent);
});
}
window.MusicPage.initAlbumArtistsTab = function (page, tabContent) {
initPage(tabContent);
};
window.MusicPage.renderAlbumArtistsTab = function (page, tabContent) {
self.renderTab = function () {
reloadItems(tabContent);
};
};
});

View file

@ -1,5 +1,9 @@
define(['jQuery'], function ($) {
return function (view, params, tabContent) {
var self = this;
var data = {};
function getPageData(context) {
var key = getSavedQueryKey(context);
@ -208,8 +212,6 @@
$('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater);
}
function initPage(tabContent) {
$('.alphabetPicker', tabContent).on('alphaselect', function (e, character) {
var query = getQuery(tabContent);
@ -235,16 +237,10 @@
reloadItems(tabContent);
});
}
window.MusicPage.initAlbumsTab = function (page, tabContent) {
initPage(tabContent);
};
window.MusicPage.renderAlbumsTab = function (page, tabContent) {
self.renderTab = function () {
reloadItems(tabContent);
};
};
});

View file

@ -1,5 +1,9 @@
define(['jQuery'], function ($) {
return function (view, params, tabContent) {
var self = this;
var data = {};
function getPageData(context) {
var key = getSavedQueryKey(context);
@ -155,8 +159,6 @@
$('.alphabetPicker', tabContent).alphaValue(query.NameStartsWithOrGreater);
}
function initPage(tabContent) {
$('.alphabetPicker', tabContent).on('alphaselect', function (e, character) {
var query = getQuery(tabContent);
@ -174,16 +176,9 @@
reloadItems(tabContent);
});
}
window.MusicPage.initArtistsTab = function (page, tabContent) {
initPage(tabContent);
};
window.MusicPage.renderArtistsTab = function (page, tabContent) {
self.renderTab = function () {
reloadItems(tabContent);
};
};
});

View file

@ -1,5 +1,9 @@
define(['jQuery'], function ($) {
return function (view, params, tabContent) {
var self = this;
var data = {};
function getPageData() {
var key = getSavedQueryKey();
@ -35,7 +39,7 @@
return LibraryBrowser.getSavedQueryKey('folders');
}
function reloadItems(page, viewPanel) {
function reloadItems(context) {
Dashboard.showLoadingMsg();
@ -61,7 +65,7 @@
layouts: 'List,Poster,PosterCard,Timeline'
});
page.querySelector('.listTopPaging').innerHTML = pagingHtml;
context.querySelector('.listTopPaging').innerHTML = pagingHtml;
if (view == "Poster") {
html = LibraryBrowser.getPosterViewHtml({
@ -76,32 +80,28 @@
});
}
var elem = page.querySelector('#items');
var elem = context.querySelector('#items');
elem.innerHTML = html + pagingHtml;
ImageLoader.lazyChildren(elem);
$('.btnNextPage', page).on('click', function () {
$('.btnNextPage', context).on('click', function () {
query.StartIndex += query.Limit;
reloadItems(page, viewPanel);
reloadItems(context);
});
$('.btnPreviousPage', page).on('click', function () {
$('.btnPreviousPage', context).on('click', function () {
query.StartIndex -= query.Limit;
reloadItems(page, viewPanel);
reloadItems(context);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
Dashboard.hideLoadingMsg();
});
}
window.MusicPage.initFoldersTab = function (page, tabContent) {
};
window.MusicPage.renderFoldersTab = function (page, tabContent) {
self.renderTab = function () {
reloadItems(tabContent);
};
};
});

View file

@ -1,5 +1,9 @@
define(['jQuery'], function ($) {
return function (view, params, tabContent) {
var self = this;
var data = {};
function getPageData() {
var key = getSavedQueryKey();
@ -35,7 +39,7 @@
return LibraryBrowser.getSavedQueryKey('genres');
}
function reloadItems(page) {
function reloadItems(context) {
Dashboard.showLoadingMsg();
@ -50,7 +54,7 @@
var view = getPageData().view;
$('.listTopPaging', page).html(LibraryBrowser.getQueryPagingHtml({
$('.listTopPaging', context).html(LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
@ -97,24 +101,24 @@
});
}
var elem = page.querySelector('#items');
var elem = context.querySelector('#items');
elem.innerHTML = html;
ImageLoader.lazyChildren(elem);
$('.btnNextPage', page).on('click', function () {
$('.btnNextPage', context).on('click', function () {
query.StartIndex += query.Limit;
reloadItems(page);
reloadItems(context);
});
$('.btnPreviousPage', page).on('click', function () {
$('.btnPreviousPage', context).on('click', function () {
query.StartIndex -= query.Limit;
reloadItems(page);
reloadItems(context);
});
$('.btnChangeLayout', page).on('layoutchange', function (e, layout) {
$('.btnChangeLayout', context).on('layoutchange', function (e, layout) {
getPageData().view = layout;
LibraryBrowser.saveViewSetting(getSavedQueryKey(), layout);
reloadItems(page);
reloadItems(context);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
@ -123,9 +127,10 @@
});
}
window.MusicPage.renderGenresTab = function (page, tabContent) {
self.renderTab = function () {
reloadItems(tabContent);
};
};
});

View file

@ -185,18 +185,6 @@
});
}
function initSuggestedTab(page, tabContent) {
var containers = tabContent.querySelectorAll('.itemsContainer');
if (enableScrollX()) {
$(containers).addClass('hiddenScrollX');
} else {
$(containers).removeClass('hiddenScrollX');
}
$(containers).createCardMenus();
}
function loadSuggestionsTab(page, tabContent) {
var parentId = LibraryMenu.getTopParentId();
@ -214,93 +202,6 @@
});
}
function loadTab(page, index) {
var tabContent = page.querySelector('.pageTabContent[data-index=\'' + index + '\']');
var depends = [];
var scope = 'MusicPage';
var renderMethod = '';
var initMethod = '';
switch (index) {
case 0:
initMethod = 'initSuggestedTab';
renderMethod = 'renderSuggestedTab';
break;
case 1:
depends.push('scripts/musicalbums');
renderMethod = 'renderAlbumsTab';
initMethod = 'initAlbumsTab';
break;
case 2:
depends.push('scripts/musicalbumartists');
renderMethod = 'renderAlbumArtistsTab';
initMethod = 'initAlbumArtistsTab';
break;
case 3:
depends.push('scripts/musicartists');
renderMethod = 'renderArtistsTab';
initMethod = 'initArtistsTab';
break;
case 4:
depends.push('scripts/songs');
renderMethod = 'renderSongsTab';
depends.push('paper-icon-item');
depends.push('paper-item-body');
break;
case 5:
depends.push('scripts/musicgenres');
renderMethod = 'renderGenresTab';
break;
case 6:
depends.push('scripts/musicfolders');
renderMethod = 'renderFoldersTab';
initMethod = 'initFoldersTab';
break;
default:
break;
}
require(depends, function () {
if (initMethod && !tabContent.initComplete) {
window[scope][initMethod](page, tabContent);
tabContent.initComplete = true;
}
window[scope][renderMethod](page, tabContent);
});
}
window.MusicPage = window.MusicPage || {};
window.MusicPage.renderSuggestedTab = loadSuggestionsTab;
window.MusicPage.initSuggestedTab = initSuggestedTab;
pageIdOn('pageinit', "musicRecommendedPage", function () {
var page = this;
$('.recommendations', page).createCardMenus();
var mdlTabs = page.querySelector('.libraryViewNav');
var baseUrl = 'music.html';
var topParentId = LibraryMenu.getTopParentId();
if (topParentId) {
baseUrl += '?topParentId=' + topParentId;
}
libraryBrowser.configurePaperLibraryTabs(page, mdlTabs, page.querySelectorAll('.pageTabContent'));
mdlTabs.addEventListener('tabchange', function (e) {
loadTab(page, parseInt(e.detail.selectedTabIndex));
});
});
pageIdOn('pagebeforeshow', "musicRecommendedPage", function () {
var page = this;
@ -326,5 +227,124 @@
});
return function (view, params) {
var self = this;
function reload() {
Dashboard.showLoadingMsg();
var tabContent = view.querySelector('.pageTabContent[data-index=\'' + 0 + '\']');
loadSuggestionsTab(view, tabContent);
}
function enableScrollX() {
return browserInfo.mobile && AppInfo.enableAppLayouts;
}
function getThumbShape() {
return enableScrollX() ? 'overflowBackdrop' : 'backdrop';
}
self.initTab = function () {
var tabContent = view.querySelector('.pageTabContent[data-index=\'' + 0 + '\']');
var containers = tabContent.querySelectorAll('.itemsContainer');
if (enableScrollX()) {
$(containers).addClass('hiddenScrollX');
} else {
$(containers).removeClass('hiddenScrollX');
}
$(containers).createCardMenus();
};
self.renderTab = function () {
reload();
};
var tabControllers = [];
var renderedTabs = [];
function loadTab(page, index) {
var tabContent = page.querySelector('.pageTabContent[data-index=\'' + index + '\']');
var depends = [];
switch (index) {
case 0:
break;
case 1:
depends.push('scripts/musicalbums');
break;
case 2:
depends.push('scripts/musicalbumartists');
break;
case 3:
depends.push('scripts/musicartists');
break;
case 4:
depends.push('scripts/songs');
depends.push('paper-icon-item');
depends.push('paper-item-body');
break;
case 5:
depends.push('scripts/musicgenres');
break;
case 6:
depends.push('scripts/musicfolders');
break;
default:
break;
}
require(depends, function (controllerFactory) {
if (index == 0) {
self.tabContent = tabContent;
}
var controller = tabControllers[index];
if (!controller) {
controller = index ? new controllerFactory(view, params, tabContent) : self;
tabControllers[index] = controller;
if (controller.initTab) {
controller.initTab();
}
}
if (renderedTabs.indexOf(index) == -1) {
renderedTabs.push(index);
controller.renderTab();
}
});
}
var mdlTabs = view.querySelector('.libraryViewNav');
var baseUrl = 'music.html';
var topParentId = params.topParentId;
if (topParentId) {
baseUrl += '?topParentId=' + topParentId;
}
libraryBrowser.configurePaperLibraryTabs(view, mdlTabs, view.querySelectorAll('.pageTabContent'));
mdlTabs.addEventListener('tabchange', function (e) {
loadTab(view, parseInt(e.detail.selectedTabIndex));
});
view.addEventListener('viewdestroy', function (e) {
tabControllers.forEach(function (t) {
if (t.destroy) {
t.destroy();
}
});
});
};
});

View file

@ -2281,7 +2281,7 @@ var AppInfo = {};
var baseUrl = 'bower_components/emby-webcomponents/strings/';
var languages = ['en-US'];
var languages = ['en-US', 'kk', 'ru'];
var translations = languages.map(function (i) {
return {
@ -2613,7 +2613,7 @@ var AppInfo = {};
defineRoute({
path: '/livetv.html',
dependencies: ['paper-button', 'livetvcss', 'paper-checkbox'],
dependencies: ['paper-button', 'livetvcss'],
controller: 'scripts/livetvsuggested',
autoFocus: false
});
@ -2736,7 +2736,8 @@ var AppInfo = {};
defineRoute({
path: '/music.html',
dependencies: [],
dependencies: ['scripts/alphapicker'],
controller: 'scripts/musicrecommended',
autoFocus: false
});

View file

@ -1,5 +1,10 @@
define(['jQuery'], function ($) {
return function (view, params, tabContent) {
var self = this;
var defaultSortBy = "Album,SortName";
var data = {};
@ -41,11 +46,11 @@
return context.savedQueryKey;
}
function reloadItems(page) {
function reloadItems(context) {
Dashboard.showLoadingMsg();
var query = getQuery(page);
var query = getQuery(context);
ApiClient.getItems(Dashboard.getCurrentUserId(), query).then(function (result) {
// Scroll back up so they can see the results from the beginning
@ -62,7 +67,7 @@
filterButton: true
});
page.querySelector('.listTopPaging').innerHTML = pagingHtml;
context.querySelector('.listTopPaging').innerHTML = pagingHtml;
html += LibraryBrowser.getListViewHtml({
items: result.Items,
@ -71,26 +76,26 @@
smallIcon: true
});
var elem = page.querySelector('#items');
var elem = context.querySelector('#items');
elem.innerHTML = html + pagingHtml;
ImageLoader.lazyChildren(elem);
$('.btnNextPage', page).on('click', function () {
$('.btnNextPage', context).on('click', function () {
query.StartIndex += query.Limit;
reloadItems(page);
reloadItems(context);
});
$('.btnPreviousPage', page).on('click', function () {
$('.btnPreviousPage', context).on('click', function () {
query.StartIndex -= query.Limit;
reloadItems(page);
reloadItems(context);
});
$('.btnFilter', page).on('click', function () {
showFilterMenu(page);
$('.btnFilter', context).on('click', function () {
showFilterMenu(context);
});
// On callback make sure to set StartIndex = 0
$('.btnSort', page).on('click', function () {
$('.btnSort', context).on('click', function () {
LibraryBrowser.showSortMenu({
items: [{
name: Globalize.translate('OptionTrackName'),
@ -129,38 +134,38 @@
id: 'Runtime,AlbumArtist,Album,SortName'
}],
callback: function () {
reloadItems(page);
reloadItems(context);
},
query: query
});
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(page), query);
LibraryBrowser.saveQueryValues(getSavedQueryKey(context), query);
Dashboard.hideLoadingMsg();
});
}
function showFilterMenu(page) {
function showFilterMenu(context) {
require(['components/filterdialog/filterdialog'], function (filterDialogFactory) {
var filterDialog = new filterDialogFactory({
query: getQuery(page),
query: getQuery(context),
mode: 'songs'
});
Events.on(filterDialog, 'filterchange', function () {
reloadItems(page);
reloadItems(context);
});
filterDialog.show();
});
}
window.MusicPage.renderSongsTab = function (page, tabContent) {
self.renderTab = function () {
reloadItems(tabContent);
};
};
});